Course Content

The text books for this course are

Slides of the lectures and Python code are below:

L-1 Mon 27 Aug 2007: welcome to mcs 260 (printer friendly version )
L-2 Wed 29 Aug 2007: first steps with Python (printer friendly version )
        our first Python programs hello.py and hello_there.py
L-3 Fri 31 Aug 2007: computer architecture (printer friendly version )
L-4 Wed  5 Sep 2007: numbers, variables, and assignments (printer friendly version )
        a Python program yieldbal.py
L-5 Fri  7 Sep 2007: strings, lists, and tuples (printer friendly version )
L-6 Mon 10 Sep 2007: hash tables and dictionaries (printer friendly version )
        Python programs mileage.py and miletab.py
L-7 Wed 12 Sep 2007: input and output formats (printer friendly version )
L-8 Fri 14 Sep 2007: control structures (printer friendly version )
        Python programs passfail.py , gradecurve.py , and followup.py
L-9 Mon 17 Sep 2007: logic gates and intrinsic operations (printer friendly version )
        a Python program alphatest.py
L-10 Wed 19 Sep 2007: latches, stacks and queues (printer friendly version )
        Python programs sortwords.py and hanoi3.py
L-11 Fri 21 Sep 2007: adders and loops (printer friendly version )
        Python programs showbal.py , showfor.py , and gcd.py .
L-12 Mon 24 Sep 2007: simulation and loops (printer friendly version )
        Python programs randuse.py , mc4pi.py , binexp1.py , binexp1b.py , and binexp1c.py .
L-13 Wed 26 Sep 2007: top down design and functions (printer friendly version )
        Python programs npdf.py , use_npdf.py , and simuwait.py .
L-14 Fri 28 Sep 2007: histograms and arguments of functions (printer friendly version )
        Python programs votes.py , area.py , area2.py , and traprule.py .
L-15 Mon 1 Oct 2007: lambda forms (printer friendly version )
        Python programs oracle.py , evalshow.py , calculator.py , and mc4pi2.py .
L-16 Wed 3 Oct 2007: review for the first midterm exam with answers (printer friendly version )
L-17 Fri 5 Oct 2007: first midterm exam: version a with answers; version b with answers; version c with answers.
L-18 Mon 8 Oct 2007: bottom up design (printer friendly version )
        Python modules: stack_data.py, stack_of_data.py, and stack_of_data_io.py, tested by stack_user.py.
L-19 Wed 10 Oct 2007: modules in Python (printer friendly version )
        Python modules: quand.py, questions.py, and dialogue.py, called by quiz.py.
L-20 Fri 12 Oct 2007: modules and packages (printer friendly version )
L-21 Mon 15 Oct 2007: files: organization and use (printer friendly version )
        Python module: bkform.py, the file books, and program library.py.
L-22 Wed 17 Oct 2007: methods of file objects (printer friendly version )
        Python programs: bkform2list.py, bklist2dict.py, cntword.py, locword.py, and repword.py.
L-23 Fri 19 Oct 2007: directory methods (printer friendly version )
        Python programs: firstline.py, delpyc.py, and maxfile.py.
L-24 Mon 22 Oct 2007: object-oriented programming (printer friendly version )
        Python classes: classbook.py, classperson.py, classcatalog.py, classpeople.py, and the main program libclassman.py.
L-25 Wed 24 Oct 2007: classes, objects, and overloading (printer friendly version )
        Python class: quaternion.py
L-26 Fri 26 Oct 2007: inheritance (printer friendly version )
        Python classes: classpoly.py, classpoint.py, classcircle.py, and the program pointcircle.py.
L-27 Mon 29 Oct 2007: verification techniques (printer friendly version )
        Python function searchlist in useassert.py.
L-28 Wed 31 Oct 2007: exception handling (printer friendly version )
        Python code: readfilename.py, readfilename1.py, readfilename2.py, readfilename3.py, cntrlc.py, and ratraise.py.
L-29 Fri 2 Nov 2007: complexity analysis (printer friendly version )
        Python code: timetosort.py, flopfloats.py, flopsum.py, and floppoly.py.
L-30 Mon 5 Nov 2007: graphical user interfaces (printer friendly version )
        Python code: guihello.py, guihello2.py, usegrid.py, guiradio.py, and guicheck.py.
L-31 Wed 7 Nov 2007: GUI programming with Tkinter (printer friendly version )
        Python code: dyneval.py, guieval.py, guievaloo.py, pentagram.py, samplefun.py, and guisample.py.
L-32 Fri 9 Nov 2007: creating a GUI application (printer friendly version )
        Python code: showscale.py, exscale0.py, exscale1.py, exscale2.py, slidedot.py, and movedot.py.
L-33 Mon 12 Nov 2007: review for the second midterm exam . Some answers and hints are here (printer friendly version ).
        Python code: guipin.py.
L-34 Wed 14 Nov 2007: internet basics (printer friendly version )
L-35 Fri 16 Nov 2007: second midterm exam: version a with answers; version b with answers.
L-36 Mon 19 Nov 2007: introduction to CGI (printer friendly version ).
L-37 Wed 21 Nov 2007: databases (printer friendly version ).
L-38 Mon 26 Nov 2007: computer networks (printer friendly version ).
        Python programs: tcp_server.py and tcp_client.py.
L-39 Wed 28 Nov 2007: multithreaded programming (printer friendly version ).
        Python programs: hello_threads; hello_threading.py; classproducer.py; classconsumer.py; and prodcons.py.
L-40 Fri 30 Nov 2007: web servers (printer friendly version ).
        Python code: web_gcd.py, invoked by web_gcd.html.
L-41 Mon 3 Dec 2007: review of lectures 1 to 15.
L-42 Wed 5 Dec 2007: review of lectures 18 to 32.
L-43 Fri 7 Dec 2007: final review.

The final exam is on Monday 10 December, from 1 to 3, in LC A4.