Introduction to Computer Science

Instructor: Pardis "Paris" Miri
Office:  E2-247B
Office hours: Tu  11:30am-12:30pm

TA: Leland Dawson                                                                                                TA: Shereen Oraby                     
email:                                                                                      email:                
Discussion session Th 12:00-1pm (McHenry 4372)                                             Discussion session: F 2pm-3pm, BE 109
Office Hour: Th 1-2pm (McHenry 4372)                                                                  Office Hour: F 3pm-4pm, BE 109       
All homework, and Lab gradings                                                                             All questions about homework 
emails should go to Leland.                                                                                    solutions should go to Shereen.

Tutor: Ethan Vadai            Tutor: Gabriel Reyes        Tutor: Justin Tse                Tutor: Armando Silva                
email:     email:   email:>         email: 
Lab Hours: Th 5pm-7pm     Lab Hours: W 5pm-7pm     Option for Private Tutoring    
Lab Hours:  F 4pm-6pm      Lab Hour:  F 4pm-6pm  
                                         Option for Private Tutoring                     

Important Deadlines
  • Lab Assignments  -  Mondays midnight
  • Homework Assignments -  Wednesdays midnight
  • Reading Assignments -  Mondays 8pm

Lab Sections
  • Location: BE 109
  • Wednesday 5pm-7pm
       (Gabriel and Leland)
  • Thursday 5pm-7pm  (Ethan and Leland)
  •  Friday 4pm-6pm           (Ethan and Gabriel)
  • Friday 2pm-4pm is not a LAB anymore.
  • It is now Shereen's Office Hour and Discussion Session.
Important Dates
  • Midterm  -  Thursday, May 5th 8:00-9:45 a.m.
  • Final (Cumulative)  - Tuesday, June 7 4:00-7:00 p.m.

Important Info 

  • Lab attendance is not mandatory but highly encouraged. 
  • You have the option to be graded in the lab. 
  • If you missed your lab session, you can always attend another one during that week. 
  • Every student can have one late lab assignment submission with no penalty. Please send your late submission to your TA via email
  • The full allocated mark will be reduced by 50 percentage for the second, third, etc late submissions.
  • Your email to your TAs must have CMPS10 in the title.
  • All Assignments  50%
    • Snap 25%
    • Lecture HW 23%
    • Reading Assignment 2%
  • Midterm                25%
  • Final                      25%

  • Attendance Extra Credit 3% (1% for lab, 1% for discussion section, 1% for lecture)

Course References 
Course Syllabus:

 Weeks Tue (8-9:45am -  Oaks, room 105)
         Programming session
 Thus(8-9:45 - 9:45 - Oaks, room 105)
               Non-programing session
Due: Monday of Every Week+1
 Week1How to be Unsuccessful in CMPS10
  • Class Logistics
  • Introduction to Snap! 
  • Week 1 Assignments: Lab, HW, and Reading.

Slides   No Videos 

Unit 1: Probability Models and Axiom

Slides   Videos 
  • Lab1: two sets of One hour of coding + certification.
  • HW Assignment 1: see HW Assignment week 1.
  • Reading Assignment week1: see Reading Assignment week 1.

Book Reading: page 1 to 17 - Introduction to probability book.

 Week 2Snap Lab 2 
  • move and turns examples
  • following the mouse examples
  • combination of foreverloop and mouse examples
  • use of multiple sprites 
  • use of forever loop and random

Slides   Videos
Unit 2: Conditioning and Bayes' Rule 
Use of Bayes' Rule in Research 
Slides    Video
  • Lab2: Kaleidoscope 
  • HW Assignment 2
  • Reading Assignment week 2

Book Reading: page 18 to 34 - Introduction to probability book.
 Week 3

Snap Lab 3 
  • Review: playing with direction
  • Different types of loops with examples (For loop, repeat until, and repeat) *next week
  • nested for loops (*next week)
  • Draw images and setting up the background image. (*next week)
  • Custom Blocks 
  • Loop
Paris is at a Conference 

Leland will cover:
    • Lab3: Field of Flowers (with the leafs and perspective.)
    • HW Assignment 3
    • Reading Assignment week 3

    Paper reading: You need to read this paper. 

    This a paper on how to read a research Computer Science paper.

    Your Reading Assignment would be mainly on what you learned reading your first scientific paper. 

    Watch this video about Artificial Intelligence. 

     Week 4

    Snap Lab 4

    Unit 2: Independence

    Slides    Video
    • Lab4: Number Guessing
    • HW Assignment 4
    • Reading Assignment week 4

    Book Reading: page 38 to 43 - Introduction to probability book.
     Week 5Snap Lab 5
    • Accumulator for summation and multiplication. 
    • And and Or gates
    • Wall drawing

    Slides   Videos -we lost the video :(
    Unit 3: Counting 

    Slides   Videos
    • Lab5: Advanced Blocks
    • HW Assignment 5
    • Reading Assignment week 5

    Book Reading: page 43 till the end of chapter 1 - Introduction to probability book.
     Week 6Snap Lab 6
    • Mod, Probability Biased and unbiased coin Examples in Snap
    • Broadcast and Midterm Review
    • Nice Probability Review

    Midterm in Class

    Midterm Stats (for each questions)
    Midterm Frequency Table (for each question)
    Midterm stats(for each student - no curve)
    Midterm stats (for each student - curved)

    • Lab6: Mini Project
    • HW Assignment: Doing your midterm work. 
    • Reading Assignment week 6
     Week 7Snap Lab 7 
    •  Lists Manipulation
    •  List manipulation in nested loops
    • Before you start: finish lab 1, lab 2 and lab 3 from here. This is extremely important to help you get prepared for the final exam. 
    slides  videos 1, 2, 3, 4, 5, 6, 7, 8, 9
    Solving Midterm Questions in Class
    • New rule: The decision is that we are going to take off Q4  and divide its 12 points between the 4 remaining snap questions equally. 
      for those people who got Q4 right we compare their grade with the new rule and if the new rule brought their grade down, we don't apply the rule. 
    • Hardest Questions on the Midterm: S3, S4, L9, L10 (Bayes' rule), L12 conditional probability, L21 (continues sample space), L8

     Week 8  Snap Lab 8

    slides  video came with no audio:(

     Chapter 0 - Algorithm Book 

    slides , videos : 1, 2
    • Reading Assignment week 8
      • watch all videos from this week. 
      • Book Reading: Chapter 0 - Algorithm Dusgupta book 
      • cracking the interview book: page 1, page 2
     Week 9  Snap Lab 9
    • Recursion I 
    • Recursion II
    • n!, Recursive Fibonacci
    • Fibonacci direct implementation
    • Fibonacci runtime.
     Chapter 2 - Algorithm Book

    Week 10 Snap Lab 10

    Final Review Session

    slides clean  slides annotated
    video_of_the_class(ignore the tower of hanoi in this video)
    tower_of_hanoi video (how to do the final project)
    • Lab10: Tower of Hanoi (optional)
    • No HW Assignment
    • No Reading Assignment

    WeekList of Homework Questions to be Covered During the Discussion Sessions (Shereen's and Leland’s)
    Week 1 Homework 1 (Unit 1): In-lecture Exercises (6, 7) -- Solved Problems (2) -- Problem Set 1 (1, 2, 3)
    Week 2 Homework 2 (Unit 2): In-lecture Exercises (2, 5)
    Week 3 Homework 3 (Unit 2): Solved Problems (1, 3) -- Problem Set 2 (1)
    Week 4 Homework 4 (Unit 2): In-lecture Exercises (3, 6, 7) -- Solved Problems (5) -- Problem Set 2 (4)
    Week 5 Homework 5 (Unit 3): In-lecture Exercises (1, 5) -- Solved Problems (2) -- Problem Set 3 (1, 3)
    Week 6 (No new material, come to office hours for questions)
    Week 7 HW 6-7: Come in for any questions you have for the midterm redos
    Week 8 Homework 8: Problems 1 and 3
    Week 9 Homework 9: Problems 1, 2, 3 (sections of each)
    Week 10 Final Question Session

    Class and Exam Policies 
    • The students must fill up the front rows only during lecture sessions. It is strictly forbidden to sit towards the back of the class room.
    • During the Midterm and Final exams, you must show up half an hour earlier than the start time and stand outside the class room until the TAs are arrived. The TAs will check your student ID,  have your signature , and will sit you. 
    • Using the bathroom during the exams will require you to check in both your exam and your phone. Then one of the TAs will escort you to the bathroom and back into the class. 

    Academic Dishonesty Policy 

    The Baskin School of Engineering has a zero tolerance policy towards any incident of academic dishonesty. If cheating occurs, consequences within the context of the course may range from getting zero on a particular assignment, to failing the course. In addition to these sanctions, every case of academic dishonesty is referred to the students' college Provost, who sets in motion an official disciplinary process. Cheating in any part of the course may lead to failing the course and suspension or dismissal from the university.

    What is cheating? In short, it is presenting someone else's work as your own. Examples include (but are not limited to) copying another student's written homework assignment, or program, allowing your own work to be copied, or in any way facilitating the cheating of others. Although you may discuss problems with fellow students, your collaboration must be at the level of ideas only. Legitimate collaboration ends when you "lend", "borrow", or "trade" written solutions to problems, or in any way share in the act of writing your answers. You may freely give and receive help with the computer facilities, editors, the UNIX operating system, and the proper use and syntax of the programming languages; but you may not copy, paste, email, or in any way share source code. If you do collaborate (legitimately) or receive any form of help from anyone, you must credit them by placing their name(s) at the top of your paper, or in the case of programming assignments, in your README file.

    Please go to to see the full text of the University's policy on Academic Integrity.