C++ Programming for Engineers with MATLAB
CS 109
Spring 2019


This course is an introduction to computer science. It will teach you to think like a computer and act like a computer scientist. It will change how you approach problems and provide you with powerful tools that you can use to change the world. You will learn how to program in this course. It can be frustrating at times—computers are irritatingly literal machines. But programming is a skill, and like any other skill you will get better with practice.

Inspired by Geoffrey Challen. (


Shanon Reckinger, PhD
email: (please use Piazza for all course communication, and check the FAQs first)
phone:  312-996-2465
office:  SEO 933


You can find an up-to-date version of the syllabus here.  


Zybooks is our online textbook for this course. All homework, labs, and projects will be developed and tested here.  


Blackboard is used for posting scores, keeping an up-to-date calculated grade, and for accessing video captures of all lectures.


Sign up here:

Our homepage:

Piazza is used for all course communication.  Please do not use email (with the exception of personal and emergency situations).  Please post to the forum with any questions about the course (logistical or technical).  When possible, post your question publicly (you can choose to be anonymous to your classmates). If you have a question, others probably do too. If your question relates to personal information about your grade or class standing or requires you to post your answer/code, please post privately (to all instructors). Also, check out the FAQ page.


Gradescope will be used for submission of all the codes you write (for labs and projects) and also where we will return feedback and grades. We will also return graded exams on Gradescope.  Entry code:  M4GK2P. Please make sure you use your email address or it will not sync properly with Blackboard..


Exam 1 is Monday, February, 18th, 10 - 10:50 am in SES 250.  Review for Exam 1 is during lecture on Wednesday, Feb. 13.  Please thoroughly read the first two pages of the practice exam for more details on exam policy.  This will save you time on the day of the exam, so you don't have read the policies before you start the exam.  You can access the practice exam here.

Exam 2 is Wednesday, March 20th, 10 - 10:50 am in SES 250. Review for Exam 2 is during lecture on Monday, March 18. You can access the practice exam here.

Exam 3 is Friday, May 10th, 10:30 am - 12:30 pm in SES 250. Review for Exam 3 is during lecture on Wednesday, May 1. You can access the practice exam here (will be posted one week before exam).

Class Calendar 

Please see the calendar below for office hours and help sessions.  

 All help sessions are located in the CS Student Lounge, which is located in SEL 2260 (SEL South East Side), inside the tutoring room.  Once you enter SEL 2260, you will see a large student work space and in the back right corner is the tutoring room.  Piazza will be monitored daily and we do everything we can to answer all questions by 9 pm.  For example, if you post a question Monday before 9 pm, we will be sure to get answered by 9 pm on Monday. If you post a question after 9 pm, we may not get to it until the next day.

Class Schedule/Lecture Slides/Assignments

See the spreadsheet below for lecture topics, HW, labs, projects, exams.  

Need lecture materials?

-Click on the lecture date (which is a hyperlink) to access a pdf of the slides from that lecture.  

-Lecture capture is posted to Blackboard (not managed by me, so report any problems to ACCC).

Need Project Jumpstart Slides?

Project 2. Project 3. Project 4. Project 5. Project 6. Project 7.