SE 2040 - Software Development III

Spring 2017, Hasker

Materials

Final Exam

Schedule

Unless otherwise stated, each lab is due at 11:59 p.m., CDT, on the Tuesday of the following week.

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

Lab 1: Ruby.0
2 Note 3: [2..Ruby] Programming Ruby ..Standard Types
3 Continue note 3 Assignment: Homework 1
2 1 Note 3; Note 4: Classier Ruby Quiz Lab 2: Ruby text analysis
2 Note 5: C++ 101 Stroustrup 1-1.3
3 C++ functions, scope and lifetime Stroustrup 1.4-1.7
Homework 2, due 3/21
3 1 Note 5: arrays, pointers Stroustrup 1.8-1.9, Online Quiz Lab 3: Histograms in C++
2 Note 5 continued
3 Note 5 continued
4 1 Note 6: classes Stroustrup 2.3, Online Quiz Lab 4: Raiderbot
2 Linked list in C++
3 Note 7: #include and separate compilation Stroustrup 3-3.2
5 1 Note 7 continued Quiz; Stroustrup 3.3-3.5 Lab 5: More Raiders
2 Namespaces, exceptions, assertions
3 Exam 1 review
6 1 Midterm exam Closed note/closed book Lab 6: Hunt the Wumpus
2 Note 8: C++ with Class Stroustrup Ch. 4 through 4.3
3 More on classes
Section 031: Lab 6
Spring break!
7 1 Note 9: Templates Stroustrup 5-5.4, 5.8 Lab 6, continued
Demonstrate core game by end of lab
2 Note 10: Overloading/copy/move, STL, strings Stroustrup 4.5-4.6, 6, 7.1
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
2 Note 13: C
3 Note 13: C
9 1 Note 14: structs, unions, assembly Lab 8: ticketing
2 Note 14, continued
3 Note 15: Types SmashingMagazine: intro to type systems
10 1 Note 15: Types Quiz Lab 9: auto lookup
Due 5/21 at 11:59 p.m. - no late solutions
2 Note 16: Ruby Blocks
3 Review