MCS 260 Introduction to Computer Science Fall 2008 COURSE OUTLINE

Document Sample
MCS 260 Introduction to Computer Science Fall 2008 COURSE OUTLINE Powered By Docstoc
					MCS 260                             Introduction to Computer Science                            Fall 2008

COURSE OUTLINE – subject to changes :
    L-1   Mon 25 Aug welcome to mcs 260 – computer literacy and Python programming
    L-2   Wed 27 Aug computer architecture – first steps with Python – using Sage
    L-3   Fri 29 Aug the von Neumann machine – calculating in the Python shell
          Mon 1 Sep Labor Day – no classes
   L-4    Wed 3 Sep numbers, variables, and assignments – developing Python programs
   L-5    Fri 5 Sep operating systems – strings, lists, and tuples in Python
   L-6    Mon 8 Sep mass storage, files and databases – dictionaries in Python
   L-7    Wed 10 Sep syntax and semantics of languages – input and output formats
Project One due on Friday 12 September by 1PM
   L-8    Fri 12 Sep boolean algebra – flowcharts – conditional constructs in Python
   L-9    Mon 15 Sep transistors and logic gates – intrinsic operations on numbers and strings
   L-10 Wed 17 Sep flip-flops and registers – intrinsic operations on lists: queues and stacks
   L-11 Fri 19 Sep adder circuits – loop constructs: the while and for
   L-12 Mon 22 Sep simulation using random numbers – binary expansion with repeat until: break
   L-13 Wed 24 Sep top down design of programs – functions in Python
Project Two due on Friday 26 September by 1PM
   L-14 Fri 26 Sep local and global variables – arguments of functions – functions using functions
   L-15 Mon 29 Sep functional programming – lambda forms – list comprehensions
   L-16 Wed 1 Oct review for first midterm
   L-17 Fri 3 Oct first midterm exam
   L-18 Mon 6 Oct software engineering – bottom up design of programs – modules in Python
   L-19 Wed 8 Oct the software development cycle and quality – modular design with Python
   L-20 Fri 10 Oct software licensing and open source – modules and packages
   L-21 Mon 13 Oct organization of data on files – manipulating files with Python
   L-22 Wed 15 Oct data compression – format conversions – using buffers to process files
   L-23 Fri 17 Oct archiving files, pipes – the os module and directory methods
Project three due on Monday 20 October by 1PM
   L-24 Mon 20 Oct object-oriented programming – unified modeling language – classes in Python
   L-25 Wed 22 Oct data and functional attributes of classes – operator overloading
   L-26 Fri 24 Oct encapsulation, inheritance, polymorphism – wrapping and delegation
   L-27 Mon 27 Oct software testing, verification techniques – pre- and postconditions with assert
   L-28 Wed 29 Oct exception handling – defining, raising, and handling exceptions in Python
   L-29 Fri 31 Oct complexity and cost – complexity classes – timing Python programs
   L-30 Mon 3 Nov graphical user interfaces – using Tkinter, a GUI toolkit for Python
Project four due on Wednesday 5 November by 1PM
   L-31 Wed 5 Nov expression evaluation – graphing functions – using the Canvas widget
   L-32 Fri 7 Nov entering data with a scale – the development of animations
   L-33 Mon 10 Nov networking and the internet – markup languages – client/server networks
   L-34 Wed 12 Nov review for second midterm
   L-35 Fri 14 Nov second midterm exam
   L-36 Mon 17 Nov dynamic web pages – introduction to CGI: running Python code on the web
   L-37 Wed 19 Nov relational design of databases – query languages – MySQL and MySQLdb
   L-38 Fri 21 Nov topologies of computer networks – layers and protocols – using sockets in Python
   L-39 Mon 24 Nov processes and threads – lifecycle of a thread – multithreaded programming
   L-40 Wed 26 Nov web servers – interactive web pages with Python
          Fri 28 Nov Thanksgiving holiday – no classes
   L-41 Mon 1 Dec     review of the first 15 lectures
Project five due on Wednesday 3 December by 1PM
   L-42 Wed 3 Dec     review of material up to second midterm
   L-43 Fri 5 Dec     cumulative review
Monday 8 December, 1:00PM–3:00PM : Final Exam – room to be announced.

University of Illinois at Chicago, Department of Mathematics, Statistics and Computer Science     page 1