Content
Schedule and due dates
The schedule may be updated as we progress through the semester, on
Canvas.
Please check back regularly for changes.
Projects
Project 1 : Content/project-1.pdf
Project 2 : Content/project-2.pdf
Topical outline
Slides will usually be posted before class.
The outline will be filled in with slides, readings, code, and
assignments as the semester moves forward
The topic schedule may change slightly as the semester
progresses.
mycode.tar.gz is a zip-like archive file.
In Linux/Unix/Mac
Just click on it in your file browser of choice, and it should open
an “archive manager” which can unzip it
At the command line, you can unpack it by executing in the directory
with the file: $tar -xf mycode.tar.gz
In Windows
Introduction and setup
What is this class?
Resources, book, website
SSH/Putty/X-forwarding (old, don’t bother)
How to submit assignments
VirtualBox pre-setup
Virtual machines
Reading:
Assignment:
Pre-lab in the book
Post-lab 00 activity due 24 hours after the start of lab
From within your new virtual machine, add the answers to the
following questions to a text file in your repository for the day (using
the Gitlab web interface).
Without using a GUI:
What command do you type to update your software?
What command do you type to search for software to install?
What command do you type to install that software?
What are the version numbers of GCC, Code::Blocks, Qt-creator,
Kdevelop, Kdbg, GDB, and Valgrind?
Bash basics
Reading: Content/01-02-LinuxBash.html
(first part.html)
Assignment (download and submit using the Gitlab web interface):
Pre-lab 02 (from the book) due right before class starts
Post-lab 02 due 24 hours after the start of class:
Bash scripting
Reading: Content/01-02-LinuxBash.html
(second part.html)
Assignment (download and submit using the Gitlab web interface):
Pre-lab 04 (from the book) due right before class starts
Post-lab 04 due 24 hours after the start of class:
Version Control
Slides: Content/03-VersionControl.html
Assignment (clone and submit using the command line Git interface
only!):
Pre-lab 03 (from the book) due right before class starts
Post-lab 03 due 24 hours after the start of class:
Unix philosophy and text editors
Reading:
Slides: Content/01_Text_IDE.pdf
Assignment:
Pre-lab 01 and 09 (from the book) due before class starts. This is
the short worksheet at the end of each chapter.
Post-lab 01 and 09 due 24 hours after the start of class:
Build systems (GNU Make)
Slides: Content/05-build_systems.pdf
Reading:
Assignment:
Pre-lab 05 (from the book) due right before class starts
Post-lab 05 due 24 hours after the start of class:
Debuggers
Reading:
Slides: Content/06-debugging.pdf
Notes: this prints an array, where len is a number like 6:
Another frond-end to add to the list:
Assignment:
Pre-lab 06 (from the book) due right before class starts
Post-lab 06 due 24 hours after the start of class:
Code checking
Reading:
Slides: Content/07-code_checking.pdf
Assignment:
Pre-lab 07 (from the book) due right before class starts
Post-lab 07 due 24 hours after the start of class:
Unit testing
Reading:
Slides: Content/08-unit_testing.pdf
Assignment:
Pre-lab 08 (from the book) due right before class starts
Post-lab 08 due 24 hours after the start of class:
Profiling
Reading:
Slides: Content/10-code_profiling.pdf
Assignment:
Pre-lab 10 (from the book) due right before class starts
Post-lab 10 due 24 hours after the start of class:
Regular expressions
GUI programming - Qt
Reading:
Slides: Content/12-GUI_programming.pdf
Assignment:
Pre-lab (from the book) due right before class starts
Post-lab due 24 hours after the start of class:
LaTeX
Reading:
Slides: Content/13-latex.pdf
Assignment:
Pre-lab (from the book) due right before class starts
Post-lab due 24 hours after the start of class:
Modern C++
Reading:
Slides:
Assignment:
Pre-lab (from the book) due right before class starts
Post-lab due 24 hours after the start of class: