CMSC 240: Software Systems Development

Spring 2021

Doug Szajda

Lecture: T, Th, 11:00 - 12:15, ONLINE (Zoom link on Blackboard)

Lab: F 9:15 - 10:05 am, ONLINE (Zoom link on Blackboard)



Handouts

Required Text

  • C++ Crash Course by Josh Lospinoso

Other good C++ references (not required)

  • Effective Modern C++ by Scott Meyers
  • A Tour of C++ by Bjarne Stroustrup

Links

Calendar: (Note: Due Dates Listed Here are placeholders only! I will tell you when assignments are due and change the due dates listed here to reflect that!

n
Date Topic Assignments Due Readings/Discussions (do readings before class!) Slides
1/19/21 Intro to C++ and Unix Text: Chapter 2: Fundamental Types, Arrays unix_C++_intro.pdf
1/21/21 Text: The remainder of Chapter 2 (optional, but at some point you'll want to read this)
1/22/21 -- Lab Lab 1 Lab 1[PDF]
example.cpp
input_gettysburg.txt
output_gettysburg.txt
1/26/21 Pointers Text: Chapter 3 (Read it all, but focus on pointers)
1/28/21 Pointers (cont.), References pointers.cpp
references.cpp
struct.cpp
1/29/21 -- Lab Lab 2 Lab 2[PDF]
testString.cpp
2/2/21 Dynamic allocation, Pointer arithmetic dynamic.cpp
func_ptr.cpp
ptrArithmetic.cpp
strings.cpp
2/4/21
2/5/21 -- Lab Lab 3 Lab 3[PDF]
2/11/21 Makefiles, C++ Inheritance inherit.cpp
inherit_poly.cpp
multiInherit.cpp
Makefiles.pdf
2/12/21 -- Lab Lab4a, Lab4b Lab 4a[PDF]
Lab 4b[PDF]
2/16/21
2/18/21
2/19/21 First Midterm Exam Distributed(Take Home)
2/19/21 -- Lab
2/23/21 GDB
2/25/21 Git
2/26/21 -- Lab Lab 5 Lab 5 [PDF]
3/2/21 Git (cont.)
3/4/21 C++ Template Classes and Methods MyContainer.h
Student.h
Student.cpp
iteratorTest.cpp
tester.cpp
old_style.cpp
template_example.cpp
3/5/21 -- Lab Git and GitHub Lab 6 [PDF]
3/9/21 The Software Development Life Cycle Software Engineering Models [PDF]
3/11/21 SDLC (cont.)
3/12/21 -- Lab Inheritance in C++ Lab 7 [PDF]
Shape.h
3/16/21 Spiral Development
3/18/21 Agile development, User Stories, Scrum
3/19/21 -- Lab Lab 8 [PDF]
lab8_input.txt
3/23/21 UML; Design Patterns UML: Video #1   #2   #3 Design Patterns [PDF]
3/25/21
3/26/21 Second Midterm Exam Distributed (Take Home)
3/26/21 -- Lab Lab 9 [PDF]
3/30/21C++ Copy and Move Semantics Copy and Move Semantics [PDF]
4/1/21
4/2/21 -- Lab Final Project [PDF]
Sample input file
random.cpp
animator.tgz [tgz]
Testing [PDF]
4/6/21
4/8/21 Concurrency [PDF]
4/9/21 -- Lab
4/13/21
4/15/21
4/16/21 -- Lab
4/20/21 Smart Pointers [PDF]
4/22/21
4/23/21 -- Lab
4/27/21
4/30/21 Final Exam Distributed
5/5/21 Final Exam due, 5:00pm