CSS 263 Updated Schedule






Date

Topics

Reading

Assignment





9/30

Welcome; from Java to C++; C++ software development workflow

Weiss, Ch. 1, App. A–D





10/5

Introduction to a second language: managed vs. non-managed languages, virtual machines, interpreters and compilers, pointers and dynamic memory management; Laboratory 1: Linux C++ software development workflow

Weiss, Ch. 1, App. A–D

Program 0 assigned

10/7

Memory management, cont’d; C++ objects

Weiss, Ch. 1 & 2





10/12

Implementing classes and containers: interface vs. implementation, members and access control; polymorphism and operator overloading; Laboratory 2: C++ classes and operator overloading

Weiss, Ch. 2

Program 0 design review

10/14

Pointers, dynamic memory allocation and deallocation, constructors and destructors, and linked list intro.

Weiss, Ch. 16 & 17





10/19

Implementing lists, stacks, and queues

Weiss, Ch. 16 & 17; Laboratory 3: linked lists

Program 0 due; Program 1 assigned

10/21

Implementing lists, stacks, and queues

Weiss, Ch. 16 & 17





10/26

Mathematical problem-solving techniques: predicate calculus and inference; Laboratory 4: the answer is…

Rosen, Ch. 1 (§ 1.3–1.7)

Program 1 design review

10/28

Mathematical problem-solving techniques: predicate calculus, cont’d; proofs (direct and by construction)

Written HW 1 assigned





11/2

Mathematical problem-solving techniques: predicate calculus, cont’d

Program 1 due; Program 2 assigned

11/4

Mathematical problem-solving techniques: predicate calculus, cont’d; sequences and summation

Rosen, Ch. 2 (§ 2.4)

Written HW 1 due





11/9

Midterm

Program 2 design review in lab

11/11

Veteran’s Day Holiday





11/16

Mathematical problem-solving techniques: Mathematical basis of recursive algorithms; recursion and proof by induction; Computational complexity review; Laboratory 6: instrumenting code

Weiss, Ch. 6, 8; Rosen, Ch. 4 (§ 4.1–4.4), 7 (§ 7.1–7.2)

Written HW 2 assigned; Program 2 due; Program 3 assigned

11/18

N log N sorting: shellsort and mergesort

Weiss, Ch. 9





11/23

N log N sorting: quicksort and offline sorting; Laboratory 7: sort this!

Weiss, Ch. 9

Program 3 design review

11/25

Algorithmic strategies: brute force, divide and conquer

Rosen, Ch. 7 (§ 7.3)

Written HW 2 due





11/30

Algorithmic strategies: greedy algorithms; Laboratory 8: greed is good

TBA

Program 3 due; Mini program 4 assigned

12/2

Algorithmic strategies: backtracking, heuristics, and intelligent systems

TBA





12/7

Generic algorithms; Laboratory 9: generic code

Weiss, Ch. 3

12/9

The C++ Standard Template Library

Weiss, Ch. 7

Mini program 4 due





12/14

Final





Last modified: November 17, 2009