Assignments, Exams, and Readings

Assignment Due Date % Final Grade
Homework 1: Thinking about Algorithms September 13, before class. 3%
Homework 2: Compiling and Submitting Programs September 20th, before class 4%
Overview of Semester Projects
Project 1 Design - RSV Study Subject Enrollment
September 27th 3%
Project 1 - RSV Study Subject Enrollment
October 4th 5%
Project 2 Design - RSV Cohort Analysis October 11th 3%
Project 2 Code - RSV Cohort Analysis
October 18th 6%
Midterm Exam October 25th, in class 25%
Project 3 - RSV Cross-Cohort Analysis
November 6th 8%
Project 4 - RSV Trial Side Effect Analysis
November 20th22nd 8%
Project 5 - RSV Vaccine Effectiveness Analysis December 6th 10%
Final Exam December 13th, 12:30 - 2:30 (subject to change, check Registrar, location TBD) 25%

Instructor, TA, and Course Information

    TA Information

    The Google calendar for the TAs is available at: TAs meet in the basement of St Marys Hall on the side towards the middle of the parking lot.

  • Instructor

    Clay Shields
    Office: 323 St Mary's Hall
    Office Hours: Tuesday 1:00 - 3ish, likely later
    Contact information here.
  • Teaching Assistants

    • See Blackboard calendar for TA office times
  • Course Information

    This course is intended for computer science majors and minors, and other students with a serious interest in learning C++ programming. The course covers the following topics: basic data types, the C++ string class, variables and constants, and their declaration, input/output (cin/cout) operators, assignment operators, arithmetic operators, conditional control structures, repetition control structures, basic file operations, user-defined functions, value and reference parameters, scope rules, name precedence, function overloading, template functions, elementary software engineering principles, Standard Template Library (STL), the vector class, elementary searching and sorting, user-defined classes, operator overloading, pointers, self-referential classes, dynamic object creation and destruction, linked lists, and recursion. This course may be used to fulfill the math/computer science portion of the Gen Ed Math/Science requirement. COSC-051 followed by COSC-052 is a major introductory sequence and together complete the General Education requirement for math/science.


  • Textbook
    The textbook for this class is Starting out with C++, Early Objects, 9th edition. . The textbook is not required but many people find it useful.
  • Tutorials
    The official class system is a Unix system. There will be help sessions in the third week of class on how to use cs-class. We also have a number of tutorials available to help you with the system.
  • Software
    • Remote Connection Software: Even if you use one of the compilers listed below, you will have to make sure your code works on, since that is our reference platform and gets backed up regularly. The software below will allow you to log into and transfer files back and forth.
      • SSH terminal and file transfer client for Windows. You can use this to both long in and transfer files over an encrypted connection. I recommend this highly and use it regularly myself.
      • For Mac, you can open the Terminal program under /Applications/Utlities, and use ssh from the command line there. For file transfer, you might want to use Cyberduck.
      • For linux, open up that terminal window and use ssh and scp
    • Compilers: These programs allow you to edit and compile programs on your computer.


All my courses are run under the same set of policies which are available here. Students are expected to read and understand these policies. You can also read the Honor Council site.