Course Syllabus

Intro to the People:


Meet Prof. Glencora Borradaile she developed and designed videos for this course several years ago so you will also be watching some of her material.  

Meet the instructor this term, Dr. Maher Elshakankiri

Meet the instructor this term, Danielle Safonte, MIS

Please use one of the following means to get help in this class -


Piazza is the best place to ask any course-related queries. Please post all course-related questions on Piazza so that the whole class may benefit from your conversation.  I will check the discussion boards at least twice a day. 

Instructor Contact Information:

The best way to contact me is by email. This method will get the fastest response time.  

Communication Policy

Please send an email to your instructor and TA's for matters of a personal nature. We will reply to course-related questions and Inbox messages within 24-48 hours.  Questions and concerns about grading should be made in the comment section of the HW assignment in Canvas.

Teams can be accessed by connecting to

Office Hours: 

You can ask questions to the instructor or teaching assistants (TAs) during their weekly office hours. Don't waste your time if you are not understanding a concept, rather ask the instructor or TAs for help. Please find the contact information provided below.

Office hours  via Teams & Piazza Live and/or Zoom (click the Instructor/TA's name to join Zoom):

PDT Start              
Time (1hr blocks) Monday Tuesday Wednesday Thursday Friday Saturday Sunday
7:00-8:00am Danielle   Danielle        
8:00         Tam    
9:00 Maher Maher Tam    
10:00   Alexander Kelley   Alexander    
10:30 Katie          
11:00   Alexander Kelley        
11:30 Katie            
12:00     Kelley        
1:00 Arezoo Arezoo Arezoo Arezoo Arezoo    
2:00   Katie        
3:00   Thi   Anjanette      
4:00   Thi   Anjanette Anjanette    
5:00   Thi          
6:00 Sarah Thi   Sarah   Tam  
7:00 Sarah Thi          



Please follow the tutoring information below if you need any course onboarding support from the peer or Ecampus tutors -

1. CS peer tutoring: Tutoring_annoucement.pdf (Links to an external site.)Links to an external site.

2. Online tutoring:


NOTE: Some links on this page may only be accessible to registered students.


We will use Canvas for delivery of the course material, submission of written assignments, exam environment, announcements, discussion groups and grade center.

We will use Gradescope for program assignment submissions (these are then all located in real folders on a normal file system, which makes it easier to execute your programs).

I also have some recommendations that will help you more later than they will now, but want you to at least see them a few times so they will not be so alien if you have to use them later in your career or education,

I want you to use SSH (PuTTY is an SSH "client" program that I recommend for Windows and SSH is natively available for Mac and Linux) to access the ENGR servers (specifically flip, which is accessible directly or through the alias access) at least a few times. You may use a local (on your computer) IDE if you wish to just upload your files to the server for testing before submission, but make 100% sure that your programs run successfully on flip before submission, or you may lose many points!

Feel free to use any editor for your programs, but be sure any code you submit to me can compile and run on flip.  With each program, you also need to submit a README that specifically dictates how to compile and/or run your program on flip.

We will be using LINDO and Matlab software available at 


Course Summary:

Date Details