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

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.

Slack can be accessed by connecting to the Workspace - this is the central connection point for all OSU-oriented slack workspaces. You should then select the "Sign in with ONID" and be able to connect.

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 Zoom (click the Instructor/TA's name to join Zoom):


Office Hours PST Mon Tue Wed Thu Fri Sat Sun
09:00 am - 10:00 am Danielle Maher Maher Maher      
10:00 am - 11:00 am Danielle Yichuan Danielle Yichuan      
11:00 am - 12:00 am Yichuan Manda Yichuan Manda Zoe
12:00pm - 1:00 pm Yichuan Manda Yichuan Manda Zoe
1:00pm-2:00pm  Manda Mark    Yilin
2:00 pm- 3:00pm Prashant  Manda Mark    Yilin
3:00 pm- 4:00pm Prashant Zoe   Zoe Yilin  
4:00pm-5:00pm Thi Zoe   Zoe Yilin    
5:00pm-6:00pm Thi   Jun   Jun    
6:00pm-7:00pm Thi   Jun   Jun    

Office Hours


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:

Peer tutoring link 

The online CS peer tutoring happens via Zoom, and there are two ways students can engage: drop-in tutoring hours and scheduled tutoring appointments. 

  • Drop-in Tutoring Hours: Regularly held tutoring hours where you can call into the existing session to engage with peer tutors about your questions.
    • View the calendar here.
    • Click on the appointment, then click more details to view the Zoom meeting link.
    • Click on the Zoom meeting link to join.
  • Scheduled Tutoring Appointments: Scheduled tutoring appointments with peer tutors.
    • Start completing the tutoring request form.
    • Be sure to select “Schedule an appointment”
    • Click on the appropriate link to schedule a time.
    • Be sure to come back and complete the tutoring request form by entering your appointment time and clicking “Submit.”


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 TEACH 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 

       tutoring link (Sp2020) 

Course Summary:

Date Details Due