EECS 211: Fundamentals of Computer Programming

Quarter: Spring 2010
Lecture Time: Monday/Tuesday/Wednesday/Friday, 1:00PM - 1:50PM
Lecture Location: TECH M164
Instructor: Dr. Ioan Raicu (iraicu@eecs.northwestern.edu, 1-847-491-8163)
    Office Hours Time: Tuesday/Friday, 2:00PM - 3:00PM
    Office Hours Location: TECH M384
Teaching Assistants: Martin Luessi (m-luessi@northwestern.edu) and Jingnan Wang (jingnanwang2013@u.northwestern.edu)
    Office Hours Time: Wednesday/Thursday 2:00PM - 3:00PM (Martin), Monday 2PM - 4PM (Jingnan)
    Office Hours Location: TECH M472 (Martin and Jingnan)

 

This class covers a variety of topics:

This course is required for computer science majors.

Course schedule, lecture topics, reading, and assignments    :

Date Lecture Topic Reading Assignments
Week 1
03-29-2010
Overview of the course and Syllabus (slides) EECS 211 Syllabus
EECS 211 Useful Links
 
03-30-2010 Introduction to Computers, the Internet and The World Wide Web (slides) Ch. 1: 1.2 - 1.12
 
03-31-2010 Introduction to Computers, the Internet and The World Wide Web, cont (slides) Ch. 1: 1.13 - 1.19  
04-02-2010 Introduction to C++ (slides) Ch 2: 2.1 - 2.4 Program 1 (PDF)
program1.cpp
Week 2
04-05-2010
Introduction to C++ (slides) Ch. 2: 2.4 - 2.6  
04-06-2010 Introduction to C++ (slides) Ch. 2: 2.6 - 2.7  
04-07-2010 Quiz 1 (handout, solutions)
Control structures (slides)
Ch. 4: 4.1 - 4.5  
04-09-2010 Control structures (slides) Ch. 4: 4.6 - 4.8  
Week 3
04-12-2010
Control structures (slides) Ch. 4: 4.9 - 4.12
Ch. 5: 5.2 - 5.5, 5.7 - 5.9
Program 1 due at 11:59PM
04-13-2010 Control structures & Functions (slides) Ch. 5: 5.10 - 5.11
Ch. 6: 6.2 - 6.5
Program 2 (PDF)
polydata.txt
ReadFile example (TGZ, ZIP)
04-14-2010 Introduction to Linux (slides), guest lecture by Martin Luessi Unix
Cygwin
Code::Blocks
Makefile
GDB
BASH
 
04-16-2010 Functions (slides) Ch. 6: 6.6 - 6.13  
Week 4
04-19-2010
Functions & Arrays (slides) Ch. 6: 6.14, 6.16 - 6.17
Ch. 7: 7.1 - 7.4
 
04-20-2010 Arrays (slides) Ch. 7: 7.4 - 7.5  
04-21-2010 Quiz 2 (handout, solutions)
C++ classes (slides)
Ch. 3: 3.2 - 3.5 Program 2 due at 11:59PM
Project Overview: Program 3 - Program 8 (PDF)
Program 3 (PDF)
main.cpp
04-23-2010 C++ classes (slides) Ch. 3: 3.6 - 3.10  
Week 5
04-26-2010
Pointers (slides) Ch. 8: 8.1 - 8.5, 8.7 - 8.8  
04-27-2010 Pointers & Classes (slides) Ch. 8: 8.9 - 8.11
Ch. 9: 9.2 - 9.5
 
04-28-2010 Classes: A Deeper Look (slides) Ch. 9: 9.6 - 9.9  
04-30-2010 Bits, Characters, and Structures (slides) Ch. 21: 21.2 - 21.4, 21.7 Program 3 due at 11:59PM
Program 4 (PDF)
p4input.txt
Week 6
05-03-2010
Classes: A Deeper Look (slides) Ch. 10: 10.3 - 10.6  
05-04-2010 Stream Input/Output and File Processing (slides) Ch. 15: 15.3 - 15.12
Ch. 17: 17.2 - 17.4
 
05-05-2010 Quiz 3 (handout, solutions)
File Processing (slides)
Ch. 17: 17.4 - 17.6  
05-07-2010 File Processing and Strings (slides) Ch. 17: 17.6 - 17.13
Ch. 18: 18.1 - 18.6
 
Week 7
05-10-2010
Strings and Recursion (slides) Ch. 18: 18.6 - 18.14
Ch, 6: 6.19
 
05-11-2010 Recursion, Arrays and Vectors (slides) Ch, 6: 6.20 - 6.21
Ch. 7: 7.7 - 7.11
 
05-12-2010 Search and Sorting (slides) Ch 19: 19.2 - 19.4 Program 4 due at 11:59PM
Program 5 (PDF)
p5input.txt
05-14-2010 Data structures (slides) Ch. 20: 20.1 - 20.6  
Week 8
05-17-2010
Data structures (slides) Ch. 20: 20.6 - 20.7  
05-18-2010 The Standard Library (slides) STL Summary
Ch. 22: 22.1 - 22.2
Program 5 due at 11:59PM
05-19-2010 Quiz 4 (handout, solutions)
The Standard Library (
slides)
Ch. 22: 22.2 Program 6 (PDF)
p6input.txt
05-21-2010 The Standard Library (slides) Ch. 22: 22.2  
Week 9
05-24-2010
Exception Handing (slides) Ch. 16: 16.1 - 16.4, 16.11, 16.13  
05-25-2010 Inheritance & Polymorphism (slides) Ch. 12: 12.1 - 12.4
Ch. 13: 13.1 - 13.2
 
05-26-2010 Operator Overloading & Templates (slides) Ch. 11: 11.1 - 11.5, 11.12 - 11.13
Ch. 14: 14.1 - 14.4
Program 6 due at 11:59PM
Program 7 (PDF)
p7input.txt
Program 9 (PDF) -- Extra Credit
05-28-2010 Parallel Programming Models and Systems (slides)    
Week 10
05-31-2010
NO CLASS, Memorial Day Holiday    
06-01-2010 Parallel Programming Models and Systems (slides)    
06-02-2010 Parallel Programming Models and Systems & Threads/Processes (slides)    
06-04-2010 Threads/Processes (slides)   Program 7 due at 11:59PM
Program 8 (PDF) -- Extra Credit
p8input.txt
Week 11
06-07-2010
 
06-08-2010
9AM - 11AM
TECH M164
Final Exam (handout, solutions)    
06-10-2010     Program 8 due at 11:59PM
Program 9 due at 11:59PM

Please note that for both the lecture topics, and reading assignments, future dates beyond the next lecture are tentative, and are subject to change; once reading assignments are changed from grey to black, they are confirmed and unlikely to change. 

Last modified: July 07, 2011