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: ./project-1.pdf
Project 2: ./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

0a. 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

0b. 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?

1a. Bash basics

  • Reading: +01-02-LinuxBash (first part)
  • 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:

1b. Bash scripting

  • Reading: +01-02-LinuxBash (second part)
  • 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:

  1. Version Control
    • Slides: +03-VersionControl
    • 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:

3. Unix philosophy and text editors


  1. Build systems (GNU Make)

  1. Debuggers

  1. Code checking

  1. Unit testing

  1. Profiling

  1. Regular expressions

  1. GUI programming - Qt

  1. LaTeX

  1. 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:


Backlinks: CoursesArchive:GeneralSyllabusFS21 CoursesArchive:GeneralSyllabusSP22 index:SyllabusGeneral index:Classes:DataStructuresLab index:ResearchDevelopment:ClassroomCode CoursesArchive:GeneralSyllabusSP23