This is the second part of a two-course introduction-to-computing sequence intended primarily for Computer Science and Computer Engineering majors. This course deepens and broadens student exposure to imperative and object-oriented programming and elementary data structure usage and design. Topics covered include modularity, specification, data abstraction, classes and objects, genericity, inheritance. An accompanying laboratory will provide comprehensive programming practice to supplement course lectures.
Lectures: Mon, Wed, Fri 9:35-10:25AM, DeBartolo 136
Labs: either Tues, Wed, Thurs (depending on section), Cushing 303
Prof. (aka head coach) Scott Emrich
211B Cushing Hall
Phone: (574) 631-0353; E-mail: semrich at nd.edu
Office hours: Mon 5-6pm; Tues 1-2pm
| Assistant (coaches) | Office hours |
|---|---|
| Mark Costanzo | by appointment |
| Rachael Purta | by appointment |
| Kerry Dobmeier | Mon 6-8pm; Wed 6-8pm; Sat 3-5pm |
| William Heineman | Tues 6-10pm; Sat 5-7pm |
| Taylor Seale | Wed 8-10pm; Sun 5-7pm |
| Jeremy Vercillo | Mon 8-10pm; Sun 3-5pm |
NOTE: All TA emails (and office hours) can be found on Piazza here.
Getting Help
We will use Piazza for general questions related to our course.
If you need to ask specific questions about your programs/debugging, please place the complete code in your dropbox, copy the relevant subregion (if possible), and paste it along with the exact error message in a private post on Piazza to the instructors. Your query will be responded to by the first person available.
If you prefer email instead of Piazza, please use the Fund II
instructor mailing list here: FundComp2-13@googlegroups.com
Important Links
The 7th (older, blue) edition also would work just as well.
| Date | Topic | Homework | Other | |
| 1/16/2013 | Introductions, C++ basics | prelab out due 1/22, 3pm |
Notes | |
| 1/18/2013 | C++ classes, constructors (Ch 3); makefiles | Lab #1 out due before your next lab at 3pm |
Notes | |
| 1/21/2013 | Classes inc. composition (Ch 9) | Notes | ||
| 1/23/2013 | Deconstructors and Const (end of Ch 9, start of 10) | Notes | ||
| 1/25/2013 | Friends, this, Static class elements (Ch 10) | Lab #2 out due before your next lab at 3pm |
Notes | |
| 1/28/2013 | Overloading (Ch 11) | Notes | ||
| 1/30/2013 | Internship advice: Josh Wise (former TA, now Microsoft) no formal class |
|||
| 2/01/2013 | Overloading: arrays (part 1) | Lab #3 out due before your next lab at 3pm |
Notes | |
| 2/04/2013 | Overloading, Inheritance hierarchy | Notes | ||
| 2/06/2013 | Inheritance and polymorphism (Ch 12 and 13) | Notes | ||
| 2/08/2013 | Polymorphism (Ch 13) | Lab #4 out due before your next lab at 3pm |
Notes | |
| 2/11/2013 | Intro to templates and the STL | Notes | ||
| 2/13/2013 | Power of templates (more examples) | Notes | ||
| 2/15/2013 | code review, battleship | Lab #5 out due before your next lab at 3pm |
Notes | |
| 2/18/2013 | templating: arrays (vectors) | Notes | ||
| 2/20/2013 | templating: linked list (list) | Notes | ||
| 2/22/2013 | stack/queue applications | Lab #6 out Due 3pm Friday before break |
Notes | |
| 2/25/2013 | Exception handing (Ch 16) | Notes | ||
| 2/27/2013 | Midterm review | |||
| 3/01/2013 | In-class midterm | Lab #7 out Due 3pm Friday after break |
||
| 3/04/2013 | Intro to graphics, Git | Notes | ||
| 3/06/2013 | QT | Notes | ||
| 3/08/2013 | Graphs, trees and graphics post break | Notes | ||
| Midterm Break! | ||||
| 3/18/2013 | Minesweeper | Lab #8 out; due Thurs 5pm before break | Google code | |
| 3/20/2013 | Intro to software engineering | Notes | ||
| 3/22/2013 | Code review: Minesweeper | Lab #9 out; due Friday after break | ||
| 3/25/2013 | Intro to Hidden Markov Models | Notes | ||
| 3/27/2013 | Case study #1: HMM code | Notes | ||
| Easter | ||||
| 4/03/2013 | Design patterns | Final lab #10; due Friday 4/12 at 3pm | ||
| 4/05/2013 | lists vs. trees | |||
| 4/08/2013 | trees in bioinformatics | Notes | ||
| 4/10/2010 | templating for trees and lists | |||
| 4/12/2010 | Special topic: polymorphic mosquitoes | Notes | ||
| 4/15/2010 | Special topic: finding more bitcoins / parallel processing | Projects (in lab) | Notes | |
| 4/17/2013 | Case study #2: 90s song mashups! | Notes | ||
| 4/19/2013 | Case study #3: simple spell checker | |||
| 4/22/2013 | TBA | Project prerelease (in lab) |
||
| 4/24/2013 | OOP Week! (first set of groups) | |||
| 4/26/2013 | OOP Week! (second third) | |||
| 4/29/2013 | OOP Week! (last set of groups) | |||
| 5/1/2013 | Final wrap up | Projects due |
||
| 5/3/2013 | Project demos make up for 1/30 |
|||
Entering Notre Dame you were required to study the on-line edition of the Academic Code of Honor, to pass a quiz on it, and to sign a pledge to abide by it. The full Code and a Student Guide to the Academic code of Honor are available here. Perhaps the most fundamental sentence is the beginning of section IV-B:
You are encouraged to study and discuss course material with classmates, but assessed material must derive from your head to your fingers to your text editor. In other words, no "copy and pasting" of code from group or other settings. Because any instance of academic dishonesty will be reported, please see Prof. Emrich if you are not unsure about certain actions.