SE 2040 - Software Development III

Spring 2016, Hasker

Materials

Schedule

Week Lecture Topics Readings Lab
1 1 Note 1: Languages
Note 2: Basic Ruby
Ruby in Twenty Minutes
Programming Ruby: Ruby.new
Prep: Assignment 0

Lab 1: Baseball
Due 3/13
2 Note 3: [2..Ruby] Programming Ruby ..Standard Types
3 Assignment: Homework 1
Continue note 3
2 1 Note 4: Classier Ruby Lab 2: Ruby text analysis
Due 3/20
2 Note 5: C++ 101 Stroustrup 1-1.3
3 C++ functions, scope and lifetime Stroustrup 1.4-1.7
3 1 Quiz 1, part a
Note 5: arrays, pointers
Stroustrup 1.8-1.9 Lab 3: Histograms in C++
Due 4/4
2 Note 5: arrays, pointers
3 No class
Spring break!
4 1 Note 6: classes Stroustrup 2.3 Lab 4: SIC
Due 4/11
2 Linked list in C++
3 Note 7: #include and separate compilation Stroustrup 3-3.2
5 1 Namespaces, exceptions, assertions Stroustrup 3.3-3.5 Lab 5: Appointments
Due 4/18
2 Midterm exam
3 Note 8: C++ with Class Stroustrup Ch. 4 through 4.3
6 1 Note 8 continued Lab 6: Wumpus Hunt
Due 5/2
2 Note 8, continued
3 Note 9: Templates Stroustrup 5-5.4, 5.8
7 1 Note 10: Overloading/copy/move, STL, strings Stroustrup 4.5-4.6, 6, 7.1 Lab 6, continued
2 Note 10 continued
3 Note 11: Streams, file processing Stroustrup Ch. 8
8 1 Note 11; Note 12: Containers, algorithm, utilities Stroustrup Ch. 9, 10, 11 Lab 7: editing
Due 5/9
2 Note 13: C
3 Note 13: C
9 1 Note 14: structs, unions, assembly Lab 8: ticketing
Due 5/16
2 Note 14, continued
3 Note 15: Types SmashingMagazine: intro to type systems
10 1 Note 16: Ruby Blocks Lab 9: reverse phonebook
Due 5/23 at noon
2 Functional programming in Ruby
3 Review