SE 2040 - Software Development III

Spring 2019, Hasker

Materials

Final Exam

Schedule

Unless otherwise stated, each lab is due at 11:59 p.m., CDT, on the Monday 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 (due Wed., March 12)
2 1 Note 3; Note 4: Classier Ruby 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
3 1 Note 5: types, arrays, pointers Stroustrup 1.8-1.9, Online Quiz (due 3/18 at 9am) Lab 3: Histograms
2 Note 5 continued
3 Note 5 continued
4 1 Note 6: classes; online Quiz 2 due Stroustrup 2.3, 2.5 Lab 4: MeetUp++
2 Note 7: Modularity in C++ Stroustrup 3-3.2
3 Modularity, continued
5 1 Namespaces, exceptions, assertions Read Stroustrup 3.4-3.6; Quiz - bring a half-page of hand-written notes Lab 5: RaiderBot
2 Exam 1 review
3 Midterm exam Closed note/closed book
6 1 Note 8: C++ with Class Stroustrup Ch. 4 through 4.3; also 4.5, 4.5.1 Lab 6: Hunt the Wumpus
2 Note 8, continued
3 Note 8, continued Start Homework 2 - points added to midterm; due Apr. 22
Spring break!
7 1 Note 8: C++ with Class, continued Lab 6, continued
Demonstrate core game by end of lab
2 Note 9: Templates Stroustrup 6-6.2, 6.2.2, 6.2.3
3 Note 9, continued
8 1 Note 10: Overloading/copy/move, STL, strings Stroustrup ch. 5, with special attention to 5-5.2.2 and 5.4.4 Lab 7: ed
2 Note 11: Streams, file processing Stroustrup Ch. 10
3 Note 12: Containers, algorithm, utilities Stroustrup Ch. 9, 11, 12
9 1 Note 13: C Start homework 3 Lab 8
2 Note 13, Note 14: structs, unions, assembly
3 Note 14
10 1 Note 15: Memory
Note 16: Types
SmashingMagazine: intro to type systems Lab 9
Due May 18 at 11:59 p.m. - no late solutions
2 Note 17: Ruby Blocks
3 Review
11 Final Exam: you may have a 2-sidded, 8.5" by 11" page of handwritten notes