Schedule

Lab # / Date Topics Resources Homework
Lab 1
1/27 (Mon)
1. Logging in
2. Basic Unix commands review
Fall'18 CS111 lab website;
Fall'19 CS111 Dr. Ryba's course website
Lab 2
1/29 (Wed)
1. Initial Survey
2. Git and GitHub
3. Pair Programming: FizzBuzz
vi cheat sheet;
Git and Github: A Beginner’s Guide for Complete Newbies
Homework 1 (due 2/13)
Lab 3
2/3 (Mon)
1. FTP
2. More Unix commands
3. Homework 1 discussion
4. Git and GitHub
Conditional Operator (cplusplus.com)
Lab 4
2/5 (Wed)
1. Review (Ch. 4, 5 and 9)
2. Debugging exercises
vi cheat sheet;
Namespace (cppinstitute.org CPA 4.6);
Chapter9.pdf (Song)
Function Overload example (geeksforgeeks.org)
On strcpy and strncpy (geeksforgeeks.org)
Lab 5
2/10 (Mon)
Review (Ch. 9 and 12) Type conversions(cplusplus.com);
rat_as_array;
Review page 7 of String and Characters
Feb 12 (Wed): Lincoln's Birthday - College Closed
Feb 17 (Mon): Presidents Day and Washington's Birthday - College Closed
Lab 6
2/19 (Wed)
1. hw1 feedback
2. Pair Programming: file reading and writing
Chapter12.pdf (Song);
Files I/O tutorial (cplusplus.com);
ios_base::setf (cplusplus.com);
Use SmarTTY to login to mars server
1. DataCamp 2nd assignment
2. Study for quiz#1 on 2/26 (review materials)
Lab 7
2/24 (Mon)
1. hw1 feeback
2. Markdown Cheat Sheet
3. Ch. 6 exercises (Struts and Classes)
Chapter6.pdf (Song);
Sample Style Guidelines for C++ (Pinkston);
Comparing between commits
1. Quiz 1 practice
Study for quiz#1 on 2/26 (review materials);
2. Homework 2 (due 3/2 Mon.)
Lab 8
2/26 (Wed)
1. Quiz 1
2. Check Lab 7 answers in lab08.tar
3. Practice regex on e-mail address
Mixing getline with cin (Mock);
RegEx (Mock)
Lab 9
3/2 (Mon)
1. Quiz 1 feedback
2. Ch. 7 exercises (Constructors and const)
Const Correctness (cprogramming.com)
Lab 10
3/4 (Wed)
1. hw2 review
2. Ch. 7.3 (static variable) and
Ch. 11.1 (Separate Compilation) exercises
Separate Compilation (Mock)
Homework 3 (due 3/16)
Lab 11
3/9 (Mon)
1. Benefits of pair programming
2. Tic-Tae-Toe exercise
Unix find command
How to Pair Program (Tips from Steven Nunez)
Chapter11.1.pdf (Song)
When do we use Initializer List in C++? (GeeksforGeeks)
Lab 12
3/11 (Wed)
1. Learning Objectives Chapter8.pdf (Song);
selectionSort.cpp (Alayev);
Homework 4 (due 4/7)
Homework 5 (due 4/11)
March 12 - 18: Instructional recess
Lab 13
3/23 (Mon)
1. Housekeeping rules for distance learning
2. hw3 solution walkthru
3. Mid-term questions overview
doubler.cpp (Alayev)
Study for MT
Lab 14
3/25 (Wed)
1. hw 4 discussion
2. Learning Objectives
Chapter10.pdf (Song)
Stack vs. Heap (programminginterview.com)
Confused About Stack and Heap?
References (tutorialspoint.com)
Study for quiz#2 on Classes
(accessor, mutator, constructor and test bank questions)
March 27 - April 1: Recalibration Period
Lab 15
4/6 (Mon)
1. Quiz 2
twodarray.cpp (Alayev);
SafeArray.cpp (Alayev);
SafeArray.h (Alayev);
main.cpp (Alayev)
Homework 6 (Due 4/23)
Project 1 (Due 4/30)
Lab 16
4/7 (Tue)
1. Quiz 2 Part I feedback
2. Homework 4 Q&A
Dynamic Allocation
April 8 - 10: Spring Recess
Lab 17
4/13 (Mon)
1. Agree on dates for quiz 3 & 4
2. valgrind
3. Ch.10.1 and 10.2 exercises
(Pointers and Dynamic Allocation)

operator= overload (learncpp.com)
When to overload assignment operator?
Lab 18
4/15 (Wed)
1. Project 1 discussion
2. Work in pair: Ch.10 Q.4
C++ Operator Precedence (cppreference.com)
Lab 19
4/20 (Mon)
1. Learning Objectives Complete the Ch10TestQuestions.pdf in piazza
Lab 20
4/22 (Wed)
1. No more Zoom... Let's try MS Teams
2. Exception Handling
(Check chap18cpp6th.pdf in piazza)
Exception Handling (tutorialspoint.com)
More on Exception Handling (geeksforgeeks.org)
Homework 7 (Due 5/4)
Lab 21
4/27 (Mon)
1. Quick rundown of MS Teams site
2. Recursion exercises
Videos: Function Template (thenewboston)
Template Class Array (Suraj Sharma)
Algorithms: Memoization video (Gayle McDowell)
Study for quiz#3 on pointers and dynamic allocation
Lab 22
4/29 (Wed)
1. Quiz #3
2. Memoization and Recursion
Lab 23
5/4 (Mon)
1. Quiz 3 feedback
2. Learning Objectives
3. Intro to Vector (codecademy.com)
Chapter7.3.pdf (Song)
Vector in C++ STL (GeeksforGeeks.org)
Vector - C++ Reference
Homework 8 (Due 5/19)
Homework 9 (Due 5/19)
Project 2 (Due 5/19)
Lab 24
5/6 (Wed)
1. Inheritance exercises
2. Please finish up hw7 by tomorrow
Note: It is an easy one to get done.
Go through the selected CS111 recursion exercises
to prepare for quiz 4
Lab 25
5/11 (Mon)
1. Polymorphism exercises
- Sample answer (cplusplus.com)
Polymorphism - notes (geeksforgeeks.org)
Polymorphism - Videos (thenewboston):
Part 1
Part 2
Study for quiz#4 on recursion
Lab 26
5/13 (Wed)
1. Quiz 4
2. Fill out the course evaluation
Final Exam: May 19, 2020 from 8:30p - 10:30p