Difference between revisions of "CSC103 Weekly Schedule 2013"
(82 intermediate revisions by the same user not shown) | |||
Line 3: | Line 3: | ||
− | < | + | <onlydft> |
− | |||
<br /> | <br /> | ||
− | <center> | + | <center>[[CSC103 Syllabus 2013 | Syllabus]] | [https://piazza.com/smith/fall2013/csc103/home PIAZZA] </center> |
− | + | <br /> | |
− | |||
− | </center> | ||
− | |||
− | |||
{| style="width:100%" border="1" | {| style="width:100%" border="1" | ||
|- style="background:#ffdead;" | |- style="background:#ffdead;" | ||
Line 22: | Line 17: | ||
|width="60%"| | |width="60%"| | ||
* '''Tuesday''' | * '''Tuesday''' | ||
− | ** | + | ** Syllabus |
+ | ** Introduction to the class and the 1/2 semester schedule | ||
+ | ** Organization of the class | ||
+ | ** [http://www.youtube.com/watch?v=0eAk6oNBSMU a short movie] to get the discussion started... | ||
+ | ** some examples of computers: | ||
+ | <br /> | ||
+ | <center>[[Image:AbacusWolfram.png|400px]]</center> | ||
+ | <br /> | ||
+ | <center>[[Image:DifferenceEngine.jpg|400px]]</center> | ||
+ | <br /> | ||
+ | <center>[[Image:DifferenceEngineDetail.jpg|400px]]</center> | ||
+ | <br /> | ||
+ | <center>[[Image:DNAComputer.png|400px]]</center> | ||
+ | <br /> | ||
+ | <center>[[File:Antikythera.jpg|400px]]<br />Antikythera mechanism, oldest computer</center> | ||
+ | <br /> | ||
+ | <center><videoflash>mpkTHyfr0pM</videoflash></center> | ||
+ | (start at 1min 47sec) | ||
+ | <br /> | ||
+ | <center>[[Image:DoubleHelix.jpg|400px]] <br /> | ||
+ | Harvard research: [http://www.computerworld.com/s/article/9230401/Harvard_stores_70_billion_books_using_DNA 1.8 zettabytes in 4 grams of DNA]</center> | ||
+ | <br /> | ||
+ | ** Keywords: | ||
+ | *** <font color="magenta">code</font>: Translating from one system of values to another system. | ||
+ | ** <font color="magenta">Electricity</font> | ||
+ | ** <font color="magenta">The Binary System</font>: a system where the only two numbers available are 0 and 1. Every operation that we can do in decimal, with 10 digits, we can also do in binary. | ||
+ | ** <font color="magenta">The Transistor</font>: A switch controlled by electricity. | ||
+ | * Counting in binary | ||
+ | <br /> | ||
+ | ---- | ||
+ | ---- | ||
* '''Thursday''' | * '''Thursday''' | ||
− | + | ** '''Announcement''': <font color="red">If you want to take CSC102 and haven't contacted Pippin Wolfe (apwolfe@smith.edu), please do so now!</font> | |
+ | ** Quick recap of Tuesday's lecture. | ||
+ | ** A [http://cs.smith.edu/~thiebaut/videos/Charles_Babbage_and_his_Difference_Engine.flv movie on Babbage's] '''Difference Engine''' | ||
+ | * We continue counting in binary, then move on to simple additions in binary, remembering first how we do additions by hand in decimal. | ||
+ | * Figuring out the value of a binary number: what is the value of 1110, for example? | ||
+ | * ==> Main message: everything we can do in decimal we can do in binary | ||
+ | * Recap: | ||
+ | ** at some point in time, engineers had very fast electronic switches at their disposition in the form of transistors | ||
+ | ** mathematicians had shown that a binary system allowed the same quality of arithmetic as the decimal system. | ||
+ | * Comes Boole (1815-1864), and the boolean algebra (very soon we'll talk about Shannon, who linked Boole's work with binary arithmetic. More on that later) | ||
+ | ** Boolean assertions can be either '''True''' or '''False''' | ||
+ | ** new boolean assertions can be combined with simple ''operators'' to form other assertions that are also boolean and can only be '''True''' or '''False''' | ||
+ | ** The operators are '''AND''', '''OR''', and '''NOT'''. They are defined by '''truth tables'''. | ||
+ | ** Several examples to discuss in class: | ||
+ | *** Alarm system to go to CSC103 the right day at the right time | ||
+ | *** Alarm system to allow one to stay in bed during the weekend | ||
+ | *** True/False machine to pick ice cream | ||
---- | ---- | ||
* | * | ||
|| | || | ||
− | + | * Reading | |
+ | ** Primary: | ||
+ | ***[http://www.youtube.com/watch?v=Bl2RlVekfwM Video] (Part 2) on George Boole and Boolean Algebra. (5.18 min) | ||
+ | ***[http://en.wikipedia.org/wiki/Claude_E._Shannon#Boolean_theory Shannon's MIT Thesis], and boolean theory | ||
+ | ***[http://en.wikipedia.org/wiki/Binary_numeral_system#Counting_in_binary Counting in Binary] | ||
+ | ** Secondary: | ||
+ | *** [[CSC103:_DT%27s_Notes_1 | Instructor's Notes]] (read only the beginning part) | ||
<!-- ================================================================== --> | <!-- ================================================================== --> | ||
|- style="background:#eeeeff" valign="top" | |- style="background:#eeeeff" valign="top" | ||
Line 34: | Line 81: | ||
|| | || | ||
* '''Tuesday''' | * '''Tuesday''' | ||
+ | ** Review of where we are | ||
+ | ** Binary system | ||
+ | ** Boolean variables, boolean operators, and boolean functions | ||
+ | ** The "ice cream machine" example | ||
+ | ** From boolean function to truth table | ||
+ | ** From truth table to boolean function | ||
+ | ** Shannon's thesis (1948): we can do arithmetic with logic! | ||
+ | ** Look at the binary addition as an operation in the world of logic | ||
+ | ** Logic gates: the AND gate, the OR gate, and the NOT gate (also called inverter). | ||
+ | ** building a 2-bit adder with logic gates. | ||
+ | ** Electronic circuit: Logic Gates | ||
+ | ** [http://cs.smith.edu/~thiebaut/classes/270/datasheets/sn74ls08rev5.pdf Data sheet] for the AND gate. | ||
+ | ** [http://maven.smith.edu/~thiebaut/classes/270/datasheets/sn74ls04rev5.pdf Data sheet] for the NOT gate. | ||
+ | ** [http://maven.smith.edu/~thiebaut/classes/270/datasheets/sn74ls32rev5.pdf Data sheet] for the OR gate. | ||
+ | ---- | ||
+ | ---- | ||
* '''Thursday''' | * '''Thursday''' | ||
− | + | <center><videoflash>6H62fyZEYsE</videoflash></center> | |
+ | <br /> | ||
+ | <center><videoflash>xTQDIiSWK_k</videoflash></center> | ||
+ | <br /> | ||
+ | ** Lab (you may want to bring your laptop if you prefer to work on your laptop rather than the iMacs) | ||
+ | ** The lab is available [[CSC103 Logic Lab 2013 | here]]. | ||
---- | ---- | ||
− | * | + | * [[CSC103 Homework 1 2013 | Homework 1]] due 9/17/13 at 9:00 a.m. and [[CSC103 Homework 1 Solution 2013 | solution]] |
+ | * [[CSC103 Logic Lab 2013 | Lab 1]] to be done in class on 9/12/13. [[Media:CSC103Lab1Solutions.pdf | lab solution]]. | ||
|| | || | ||
+ | * Reading: | ||
+ | ** [[CSC103:_DT%27s_Notes_1 | Instructor's Notes]] | ||
+ | ** Logic Gates on [http://en.wikipedia.org/wiki/Logic_gate wikipedia]: You can skip the Universal Logic Gate section, the De Morgan section, and the remaining sections until the end. | ||
+ | <!-- | ||
+ | ** [http://math.hws.edu/TMCM/java/xLogicCircuits/ A good introduction on the Logic Circuit Simulator] | ||
+ | --> | ||
| | ||
Line 47: | Line 122: | ||
|width="60%"| | |width="60%"| | ||
* '''Tuesday''' | * '''Tuesday''' | ||
+ | ** [http://klabs.org/history/ech/agc_schematics/index.htm Schematics from NASA] | ||
+ | ** [[CSC103_Exercise:_Functional_Description_to_Logic_Design | Exercises]] to do in class | ||
+ | ** From logic gates to flip-flops: the magic | ||
+ | ** [[CSC103_A_Game_of_Numbers | Let's play a game!]] | ||
+ | ** [http://cs.smith.edu/~thiebaut/classes/103/applets.htm The xComputer Simulator] | ||
+ | ** Programming in Assembly Language | ||
+ | ** [[CSC103_Basic_Instructions | Basic Instruction Set]] | ||
+ | ---- | ||
+ | ---- | ||
* '''Thursday''' | * '''Thursday''' | ||
− | + | <videoflash>gN-ZktmjIfE</videoflash> | |
+ | ** Assembly Language | ||
+ | *** The Cookie Monster! | ||
+ | *** the [http://maven.smith.edu/~thiebaut/classes/103/applets.htm xComputer Simulator] | ||
+ | *** the [[CSC103 Basic Instructions| Instruction Set]] for our computer | ||
+ | *** [[CSC103 Assembly Program 1 | A first program]] | ||
+ | *** [[CSC103 Assembly Program 2 | A second program]] | ||
+ | *** Execution of selected instructions ([[Media:CSC103InstructionsBeforeAfter.pdf|pdf]]) | ||
+ | *** [[CSC103 Assembly Language Lab (version 2) 2013| Lab]] on Assembly Language | ||
---- | ---- | ||
− | * | + | * [[CSC103 Homework 2 2013 | Homework 2]] and [[CSC103_Homework_2_Solution_2013 | Solution]] |
+ | * [[CSC103 Assembly Language Lab (version 2) 2013 | Lab 2]] on Assembly Language | ||
|| | || | ||
− | + | Reading: | |
+ | * [http://en.wikipedia.org/wiki/Von_Neumann_architecture von Neumann's bottleneck] | ||
+ | * [http://math.hws.edu/TMCM/java/labs/xComputerLab1.html A good description of the Computer simulator] | ||
+ | * You will find Wikipedia's [http://en.wikipedia.org/wiki/Central_processing_unit description of the processor] interesting. Concentrate mostly on the sections labeled '''Microprocessor''', '''Operation''', and '''Clock Rate'''. | ||
<!-- ================================================================== --> | <!-- ================================================================== --> | ||
|- style="background:#eeeeff" valign="top" | |- style="background:#eeeeff" valign="top" | ||
Line 58: | Line 154: | ||
|| | || | ||
* '''Tuesday''' | * '''Tuesday''' | ||
− | * '''Thursday''' | + | ** [[CSC103 Assembly Language Exercises| Exercises]] |
+ | ** Solution to first problems from Lab 2 | ||
+ | ---- | ||
+ | ---- | ||
+ | ---- | ||
+ | ---- | ||
+ | * '''Thursday''' <font color="magenta">MOUNTAIN DAY!</font> | ||
+ | <br /> | ||
+ | <center>[[File:MountainDay.png|450px]]</center><br /> | ||
+ | ---- | ||
+ | * [[CSC103 Homework 3 2013 | Homework 3]] is available. Due <strike>10/3/13</strike> 10/8/13 @ 9:00 a.m. | ||
− | |||
− | |||
|| | || | ||
| | ||
Line 70: | Line 174: | ||
|width="60%"| | |width="60%"| | ||
* '''Tuesday''' | * '''Tuesday''' | ||
+ | ** Going over the last problem of Lab 2 | ||
+ | ** The '''Von Neumann''' bottleneck. | ||
+ | <center>[[File:MooresLawProcessorMemoryGap.png|450px]]</center> | ||
+ | <br /> | ||
+ | <center>[[File:FootballField.jpg|400px]]</center> | ||
+ | <br /> | ||
+ | ** '''Moore's Law''', first introduced in 1965. The number of transistors in circuits doubles every 18 months. What it is, what it means, how it has been extended. | ||
+ | ** Understanding Exponential Growth | ||
+ | <center>[[Image:riceOnChessboard.jpg|400px]]</center> | ||
+ | <br /> | ||
+ | <center>[[File:CSC103 ExponentialGrowth4.png|400px]]</center> | ||
+ | <br /> | ||
+ | <center>[[File:HockeyStick.gif|400px]]</center> | ||
+ | <br /> | ||
+ | <center>[[File:LogarithmicScale1.jpg|500px]]</center> | ||
+ | <br /> | ||
+ | <center>[[File:CSC103_ExponentialGrowthLogarithmicScale.png|400px]]</center> | ||
+ | <br /> | ||
+ | <center>[[File:MooresLaw.jpg|400px]]</center> | ||
+ | <br /> | ||
+ | <center>[[File:MooresLawForSpeed.png|400px]]</center> | ||
+ | <br /> | ||
+ | <center><videoflash>d9SWNLZvA8g</videoflash></center> | ||
+ | <br /> | ||
+ | ** [http://www.technologyreview.com/news/518871/we-need-a-moores-law-for-medicine/ We need a Moore's Law in medicine...] | ||
+ | ** [http://www.forbes.com/sites/timworstall/2013/08/29/darpa-chief-and-intel-fellow-moores-law-is-ending-soon/ The end of Moore's Law] | ||
+ | ** [http://www.theregister.co.uk/2013/09/26/stanford_boffins_build_carbon_nanotune_computer/ New processor made of Nanotubes], published 26 Sept. 2013 | ||
+ | <br /> | ||
+ | <center>[[File:MooresLawProcessorMemoryGap.gif]]</center> | ||
+ | ---- | ||
+ | ---- | ||
+ | ---- | ||
+ | ---- | ||
+ | |||
* '''Thursday''' | * '''Thursday''' | ||
+ | ** What is Processing? Ben Fry, one of the co-inventors of the language, explains. | ||
+ | <center><videoflash>z-g-cWDnUdU</videoflash></center><br /> | ||
+ | :This is less about Processing than about data visualization, and how '''Ben Fry''', one of the co-authors of Processing uses the language to represent data. Several of his projects are presented. | ||
+ | <br /> | ||
+ | <center><videoflash>M5dFb2x-NcA</videoflash></center> | ||
+ | :Ben Fry generated the computer graphics for Minority Report (start watching around Time Stamp 7 minutes 25 seconds). | ||
+ | ** Introduction to the language "Processing": [[Introduction_to_Processing | Web Page]], [http://cs.smith.edu/dftwiki/images/IntroductionToProcessing_thiebaut_CSC103.key Keynote], [http://cs.smith.edu/dftwiki/images/IntroductionToProcessing_thiebaut_CSC103.mov Quicktime] | ||
+ | ** To download and install Processing, go to '''[http://processing.org Processing.org]''' | ||
---- | ---- | ||
* | * | ||
|| | || | ||
− | + | Reading: | |
+ | * [[CSC103:_DT%27s_Notes_1 | Instructor's Notes]] On Von Neumann's Bottleneck and on Moore's Law. | ||
<!-- ================================================================== --> | <!-- ================================================================== --> | ||
|- style="background:#eeeeff" valign="top" | |- style="background:#eeeeff" valign="top" | ||
Line 81: | Line 228: | ||
|| | || | ||
* '''Tuesday''' | * '''Tuesday''' | ||
+ | ** Programming in '''[http://processing.org Processing]''': [[CSC103_Processing_Lab | Processing Lab]] | ||
+ | ** '''[http://processing.org Processing]''' Lab (<font color="red">Please install Processing on your computer before the lab, if you are going to use your own laptop. The directions can be found [[CSC103 Directions for Installing Processing | here]]</font>). | ||
+ | |||
* '''Thursday''' | * '''Thursday''' | ||
+ | [[Image:FacebookPage1013.png|right|100px|link=https://www.facebook.com/pages/Computer-Science-Smith-College/264041891883]] | ||
+ | ** [[Media:CSC103_PCDemolitionLab_2013.pdf | PC Demolition Lab]] (see the pictures on the [https://www.facebook.com/pages/Computer-Science-Smith-College/264041891883 department Facebook page]!) | ||
+ | ** <font color="magenta">Take-Home Exam</font> | ||
---- | ---- | ||
− | * | + | * [[CSC103_Processing_Lab | Processing Lab]] |
+ | * [[CSC103 Take-Home Exam 2013| Take-Home Exam]] | ||
|| | || | ||
| | ||
Line 93: | Line 247: | ||
|width="60%"| | |width="60%"| | ||
* '''Tuesday''': <font color="magenta">Fall Break</font> | * '''Tuesday''': <font color="magenta">Fall Break</font> | ||
+ | <br /><center>[[File:DancingCalving.gif]]</center><br /> | ||
+ | <br /> | ||
+ | ---- | ||
+ | ---- | ||
* '''Thursday''' | * '''Thursday''' | ||
− | + | ** [[CSC103 Quiz on Singularity 2013 | Quiz]] | |
+ | ** Discussion | ||
+ | *** [http://cs.smith.edu/~thiebaut/research/singularity/ieee_spectrum__signs_of_the_singularity.pdf Signs of the Singularity] by Vernor Vinge. | ||
+ | *** [http://cs.smith.edu/~thiebaut/research/singularity/ieee_spectrum__can_machines_be_conscious.pdf Can Machines Be Conscious?], Christof Koch and Giulio Tononi. | ||
+ | ** Ray Kurzweil on the Singularity. Bio taken from [http://en.wikipedia.org/wiki/Ray_Kurzweil Wikipedia]: | ||
+ | <blockquote> | ||
+ | Raymond "Ray" Kurzweil (/ˈkɜrzwaɪl/ kurz-wyl; born February 12, 1948) is an American author, inventor, futurist, and a director of engineering at Google. Aside from futurology, he is involved in fields such as optical character recognition (OCR), text-to-speech synthesis, speech recognition technology, and electronic keyboard instruments. He has written books on health, artificial intelligence (AI), transhumanism, the technological singularity, and futurism. Kurzweil is a public advocate for the futurist and transhumanist movements, as has been displayed in his vast collection of public talks, wherein he has shared his primarily optimistic outlooks on life extension technologies and the future of nanotechnology, robotics, and biotechnology. | ||
+ | </blockquote> | ||
+ | <br /> | ||
+ | <center><videoflash>IfbOyw3CT6A</videoflash></center> | ||
+ | <br /> | ||
+ | <center><videoflash>1uIzS1uCOcE</videoflash></center> | ||
+ | <br /> | ||
+ | * Food for thought... | ||
+ | ** [[Information_about_the_Singularity | Additional articles]] on the issue of the Singularity (including IEEE Spectrum issue on the subject). | ||
+ | ** [http://www.ted.com/talks/susan_blackmore_on_memes_and_temes.html Susan Blackmore's] TED talk on Memes and Temes. | ||
---- | ---- | ||
* | * | ||
Line 102: | Line 275: | ||
|} | |} | ||
+ | </onlydft> | ||
+ | <br /> | ||
+ | <br /> | ||
+ | <br /> | ||
+ | <br /> | ||
+ | <br /> | ||
+ | <br /> | ||
+ | <br /> | ||
+ | <br /> | ||
+ | <br /> | ||
+ | <br /> | ||
+ | <br /> | ||
+ | <br /> | ||
+ | <br /> | ||
+ | <br /> | ||
+ | <br /> | ||
+ | <br /> | ||
+ | <br /> | ||
+ | <br /> | ||
+ | <br /> | ||
+ | <br /> | ||
+ | <br /> | ||
+ | <br /> | ||
+ | <br /> | ||
+ | <br /> | ||
+ | <br /> | ||
+ | <br /> | ||
+ | <br /> | ||
+ | <br /> | ||
+ | <br /> | ||
+ | <br /> | ||
+ | <br /> | ||
+ | <br /> | ||
+ | <br /> | ||
+ | <br /> | ||
+ | <br /> | ||
+ | * [[CSC103 Make-Up Homework 2013 | Optional Homework]] |