Main

Schedule

Reload this page, it is frequently updated.

  • Questions? Come to office hours or use Piazza. If you wish to email instructors only (e.g., grading questions), send email to 330instructors@cs.uoregon.edu.
  • Assignment solutions on ix-dev, in ~norris/public/cis330 (not a web page).
  • Lecture and lab codes: https://bitbucket.org/brnorris03/cis330w19
  • Scores:
  • Current assignment: Projects

Week 1 [1/7]

Topics: Introduction to Unix, Revision Control, C.

Homework:

  • Start Assignment 1, due Wed, 1/16 11:59pm (Note: Try to complete problems 1-3 as soon as possible.)

Reading:

Lab

Week 2 [1/14]

Topics: C (cont.), Bash

Homework:

  • Complete Assignment 1, due Wed, 1/16 11:59pm;
  • Start Assignment 2, due Wed 1/23 11:59pm. This is a bit harder than Assignment 1, so start early!

Reading:

Lab:

Week 3 [1/21]

Topics: Bash (cont.), Linking, Makefiles, C++

  • Monday -- no class, Martin Luther King Jr. Holiday
  • Notes and Exercises

Homework:

Reading:

Lab:

Week 4 [1/28]

Topics: C++: Making and using objects, the C in C++, data abstraction

Homework:

Reading:

  • Bash
  • Mon: Thinking in C++, vol. 1 (TICPPv1) Chapters 1--2 (much of this should be familiar to those with OO programming experience)
  • Wed: TICPPv1 Chapters 3 (The C in C++, pay special attention to "Introduction to C++ references") and 4 (Data abstraction)

Lab:

Week 5 [2/4]

Topics: C++: constants and inlined functions, introduction to operator overloading, templates and containers

  • Notes and Exercises A first look at templates and containers (vectors, pairs, maps), iterators, some algorithms; a few new Unix commands.

Homework:

Reading:

  • TICPPv2, read the intro to Part II and Chapter 3 on strings and TICPPv1 Chapter 11: References & the Copy-Constructor (focus on the copy constructor)
  • TICPPv1 Chapter 8, Constants and Chapter 9, Inlined functions
  • TICPPv1 Chapter 12: Operator overloading (just skimming this for now is fine); TICPPv1 Chapter 16: Templates and Containers (we will continue with this next week)
  • A very nice introduction to C++ file streams.

Other:

  • Thinking in C++, Vol 2 (TICPPv2), read Chapter 4 on iostreams

Lab:

Week 6 [2/11]

Topics: C++: access control, constructors and destructors, function overloading, copy and move constructors, move semantics

Homework:

  • Start Assignment 5, due Wed 2/20 11:59pm
  • Start working on projects.

Reading:

  • TICPPv1 Chapter 5, Hiding the implementation (but not from your instructors)
  • TICPPv1 Chapter 6, Initialization & Cleanup (just like your mom taught you)
  • TICPPv1 Chapter 7, Function overloading & default arguments (no heavy lifting or heated discussions involved)

Lab: Lab6

Week 7 [2/18]

Topics: C++

Homework:

Reading:

Lab: Lab7

Week 8 [2/25]

Topics: C++

Homework:

Reading:

Lab: Lab8

Week 9 [3/4]

Topics: Polymorphism, exceptional control flow, Unix processes, signals and jumps

Homework:

  • Work on project, schedule project presentations

Reading:

Lab:

Week 10 [3/11]

Topics: C++ exceptions, parallel programming, review

Homework:

  • Final project (presentations) due Friday 3/15, 11:59pm

Reading:

Lab:

Finals week

Green Marinee theme adapted by David Gilbert, powered by PmWiki