CMSC 240: Software Systems Development

Fall_2022

Doug Szajda

Lecture: T, Th, 10:30 - 11:45 am, Jepson 118

Lab: T 3:00 - 3:50 pm, Jepson 118



Handouts

Required Text

  • Programming Principles and Practice Using C++ (2nd Edition) by Bjarne Stroustrup

Other good C++ references (not required)

These are both great references for use after you have learned the basics of modern C++. They really dig down into the details of the language.
  • Effective Modern C++ by Scott Meyers
  • A Tour of C++ by Bjarne Stroustrup

Links

  • A page with some useful links! (Thanks Professor Lawson!) You will be accessing the links on that page often. There are links to good online C++ references (including free C++ texts), to instructions on how to use secure copy (scp) to and from the linux cluster, to instructions for using secure shell, etc.

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!

Date Topic Assignments Due Readings/Discussions (do readings before class!) Slides
8/23/22 Intro to C++ and Unix Text: Chapter 2 unix_C++_intro.pdf
8/23/22 -- Lab Lab 1 Lab 0[PDF]
8/25/22 Text: Chapter 3
8/30/22 Text: Chapter 17 (Read it all, but focus on pointers)
8/30/22 -- Lab Lab 1 Lab 1[PDF]
9/1/22 Pointers (cont.), References pointers.cpp
references.cpp
struct.cpp
9/6/22 dynamic.cpp
func_ptr.cpp
ptrArithmetic.cpp
strings.cpp
9/6/22 -- Lab Lab 2 Lab 2[PDF]
test.cpp
String.h
9/8/22 Basic Architecture and Program Execution [PDF]
9/13/22
9/13/22 -- Lab Lab 3 Lab 3 [PDF]
9/15/22 Move semantics and rvalue references in C++, by Alex Allain Copy and Move Semantics [PDF]
9/20/22
9/20/22 -- Lab No lab: Prof S. at Grace Hopper (note that there IS lecture the morning of 9/20)
9/20/22 -- Lab Lab 4 [PDF] Makefiles [PDF]
9/22/22 No lecture: Prof S. at Grace Hopper
9/27/22
9/27/22 -- Lab Lab 5 [PDF]
9/29/22
10/4/22 inherit.cpp
inherit_poly.cpp
multiInherit.cpp
10/4/22 -- Lab Lab 6 [PDF] (due 10/18)
10/6/22 GDB
10/11/22 Fall Break
10/11/22 - Lab Fall Break
10/13/22
10/18/22 Midterm Exam
10/18/22 -- Lab Lab 7 [PDF]
10/20/22 C++ Template Classes and Methods MyContainer.h
Student.h
Student.cpp
iteratorTest.cpp
tester.cpp
old_style.cpp
template_example.cpp
10/25/22
10/25/22 -- Lab Final Project [PDF]
Sample input file
random.cpp
animator.tgz [tgz]
10/27/22 Software Engineering Models [PDF]
11/1/22
11/1/22 -- Lab
11/3/22
11/8/22 Odds and Ends [PDF]
11/8/22 -- Lab
11/10/22 Testing [PDF]
11/15/22 UML; Design Patterns UML: Video #1   #2   #3
11/15/22 -- Lab
11/17/22 Design Patterns [PDF]
11/22/22
11/22/22 -- Lab
11/24/22 Thanksgiving Break
11/29/22 Smart Pointers [PDF]
11/29/22 -- Lab
12/1/22
12/6/22 Final Exam, 2:00 - 5:00 pm