Stony Brook University – Spring 2018

Course Overview

Catalog Description

Introduces central ideas of computing and computer science, instills practices of computational thinking, and engages students in the creative aspects of the field. Also introduces appropriate computing technology as a means for solving computational problems and exploring creative endeavors. Requires some programming. Prerequisite: Level 3 or higher on the mathematics placement examination

Major Topics Covered

  • Data representation and compression
  • Computational thinking and problem solving
  • Basic algorithms for searching and sorting
  • Boolean logic
  • Fundamentals of programming in the Python language

Course Learning Outcomes

  • An ability to use computing tools and techniques to create computer program artifacts
  • An ability to use multiple levels of abstraction, models, and simulation in computation
  • An ability to use algorithms to develop and express solutions to computational problems

Stony Brook Curriculum Learning Outcomes (TECH: Understand Technology)

  • Demonstrate an ability to apply technical tools and knowledge to practical systems and problem solving.
  • Design, understand, build, or analyze selected aspects of the human-made world. The "human-made world" is defined for this purpose as "artifacts of our surroundings that are conceived, designed, and/or constructed using technological tools and methods."

Course Meeting Times


  • Section 1: Tuesdays & Thursdays, 2:30 pm – 3:50 pm in Earth and Space Sciences 001
  • Section 2: Tuesdays & Thursdays, 4:00 pm – 5:20 pm in Earth and Space Sciences 001

Lab Sessions

All lab sessions take place in Computer Science 2114, the "old" CS building.

  • L01: Tuesdays 4:00 pm – 4:53 pm (TAs: TBD)
  • L02: Wednesdays 2:30 pm – 3:53 pm (TAs: TBD)
  • L03: Thursdays 4:00 pm – 4:53 pm (TAs: TBD)
  • L05: Tuesdays 5:30 pm – 6:23 pm (TAs: TBD)
  • L06: Thursdays 5:30 pm – 6:23 pm (TAs: TBD)
  • L07: Mondays 4:00 pm – 4:53 pm (TAs: TBD)
  • L08: Mondays 2:30 pm – 3:23 pm (TAs: TBD)
  • L10: Wednesdays 4:00 pm – 4:53 pm (TAs: TBD)
  • L11: Mondays 5:30 pm – 6:23 pm (TAs: TBD)
  • L12: Wednesdays 5:30 pm – 6:23 pm (TAs: TBD)


  • Required: Explorations in Computing: An Introduction to Computer Science and Python Programming by John S. Conery. Chapman and Hall/CRC, 2014. ISBN 978-1466572447.
    • While completing the assigned readings, students are expected to complete the tutorials at the end of each section of each chapter. These tutorials reinforce the concepts in each chapter and provide practical, hands-on experience in Python programming. The tutorials also supplement the material covered in lecture, lab and homework. Students are responsible for completing the assigned readings and tutorial exercises in preparation for examinations.
  • Optional: Blown to Bits: Your Life, Liberty, and Happiness after the Digital Explosion, by Hal Abelson, Ken Ledeen, and Harry Lewis, Addison-Wesley. 2008. ISBN 0137135599. You can download this book for free at the given link.

Communication with the Course Staff

Instructor Info

  • Prof. Kevin McDonnell
  • Email:
  • New Computer Science Building 105
  • Office Hours:
    • Mondays 1:30 pm - 3:00 pm
    • Thursdays 10:30 am - 12:00 pm


The Piazza discussion board should be used for all communication with the teaching staff for questions about the course assignments and material. Email should be sent to individual instructors or teaching assistants only to schedule appointments.

Piazza is a forum for additional learning and assistance. The following are not appropriate uses of Piazza:

  • cyber-bullying
  • posting memes
  • complaining about a grade
  • airing concerns/comments/criticisms about the course
  • posting more than a few lines of source code from an attempt at a homework problem
  • posting the solution to a homework problem or a link to a website containing the solution
  • in general, anything unrelated to the course material and student learning

Therefore, your are expected to use the Piazza forum for all non-personal, course-related communication. Questions about what a homework problem is asking, technical problems that need troubleshooting, or other questions that might be of interest to other students must be posted to Piazza and not emailed to the instructor or a TA.

Email Etiquette

Email the instructor under the following circumstances:

  • Blackboard is not properly displaying one of your grades.
  • If you cannot come to office hours and need to set up an appointment to meet at another time. In this case you must include your availability for the upcoming week.
  • If you need to contact the instructor or TA about a private matter. Examples include:
    • Making arrangements for disability accommodations.
    • To discuss private, personal matters that are impacting your coursework such as physical or mental illness, death in the family, etc.
    • If the instructor asks you to email him something relating to a previous conversation.

When emailing your instructor about the course, use the following guidelines to ensure a timely response:

  • use your official email account
  • use a descriptive subject line that includes "CSE 101" and a brief note on the topic (e.g., "CSE 101: Appointment")
  • begin with a proper greeting, such as "Hi Prof. McDonnell"
  • briefly explain your question or concern or request
  • end with a proper closing that includes your full name, Net ID and SBU ID number

Assessments and Grading Scheme

Homework Assignments

Students will be assigned five or six programming assignments for homework.

Homework Lateness Policy

Assigned work is not accepted for credit once the deadline has passed. Students who take this course are often surprised by just how much time this course requires of them. You are advised to budget your time wisely and to start working on an assignment the day it is posted.

Lab Exercises

Students will be assigned computer programming laboratory exercises on a weekly basis. These exercises will reinforce the programming and problem-solving content covered in lecture.

Make-up Lab Sessions

If you miss your assigned lab session for a valid reason, you may make up the missed lab session later in the week if permission is granted by the instructor.


There will be three examinations. All exams will be closed-book and closed-notes. No access to electronic devices will be permitted during exams.

Although there will be no cumulative final examination, Exam #3 will take place during Finals Week, as per University policy.

Make-up Examinations

Make-up exams will be given only in extenuating circumstances, such as a documented personal illness. In such cases the student must inform the instructor about an anticipated absence before the day of the exam and provide supporting documentation to the College of Engineering and Applied Sciences Undergraduate Office (e.g., doctor's note stating that the student was ill and unfit to take the exam). Students who miss an exam for a valid reason may need to take a make-up exam; specific arrangements will be made on a case-by-case basis. Make-up exams will not be made available to students who miss an exam due to work/job-related commitments, vacations, etc.

Examination Dates and Times:

  • Exam #1: February 22nd during class time in Earth and Space Sciences 001
  • Exam #2: April 3rd during class time in Earth and Space Sciences 001
  • Exam #3:
    • Section 1: May 14th 11:15 am – 12:35 pm in a location to be determined
    • Section 2: May 14th 5:30 pm – 6:50 pm in a location to be determined


Human beings make mistakes. If you believe that a question on your exam paper was graded incorrectly, type or write up what you believe is incorrect, staple it to the front of your exam paper, and give it to the instructor before or after lecture. Time is a precious commodity, so please do not spend instructor office hours or TA office hours arguing about points. Regrade requests must be made in writing no later than one week after graded work is returned to the class. Regrade requests that are later than one week from the date the graded work is returned to the class will not be honored.

Grading Scheme

  • Homework Assignments: 15%
  • Laboratory Assignments: 10%
  • Examinations: 75%

Grade Cutoffs: A [93-100], A- [90-94), B+ [87-90), B [83-87), B- [80-83), C+ [77-80), C [73-77), C- [70-73), D+ [67-70), D [63-67), F [0-63)

Grades will be posted on Blackboard.

Tentative Class Schedule

Week Lecture Topics
1 What is Computational Thinking?
2 Computer Programming Fundamentals
3 Iteration, Lists and Algorithm Design
4 Searching and Sorting Algorithms; Scalability
5 Exam #1
6 Divide and Conquer Algorithms
7 Machine Learning and String Manipulation
8 Spring Break
9 Random Numbers and Object-oriented Programming
10 Data Representation and Compression
11 Exam #2
12 Computer Architecture and Assembly Language Programming
13 Natural Language Processing and Regular Expressions
14 The Limits of Computation
15 Cryptography
16 Finals Week
17 Exam #3

Free Tutoring Services

The College of Engineering and Applied Sciences (CEAS) offers a range of free tutoring services for students in CSE, AMS and other courses. See the CEAS Undergraduate Student Office website for more information. For small group and one-on-one tutoring please inquire also at the Academic Success and Tutoring Center.

Academic Integrity

Every student's homework submission must be his or her own work. You are not permitted to share, borrow or even look at another student's work while completing your own homework. Likewise, copying code from any source other than the textbook or from the instructor's handouts will constitute cheating. Any evidence that source code or solutions have been copied, shared or transmitted in any way, including the use of source code downloaded from the Internet or written by others in previous semesters, will be regarded as evidence of academic dishonesty. The College of Engineering and Applied Sciences (CEAS) regards academic dishonesty as a very serious matter and provides for substantial penalties in such cases, such as receiving an 'F' grade and/or expulsion from the University. Those involved in academically dishonest behavior will be prosecuted to the fullest extent permitted by the University and College laws. For more information, you can obtain a copy of the CEAS guidelines on academic dishonesty from the CEAS office.

All examinations will be closed-notes and closed-book. No electronic devices of any kind will be permitted to be used during exams. All cell phones must be silenced or turned off during exams. Any use of electronic devices, textbooks, notes or any other materials will constitute cheating.

Each student must pursue his or her academic goals honestly and be personally accountable for all submitted work. Representing another person's work as your own is always wrong. Faculty are required to report any suspected instances of academic dishonesty to the Academic Judiciary. Faculty in the Health Sciences Center (School of Health Technology and Management, Nursing, Social Welfare, Dental Medicine) and School of Medicine are required to follow their school-specific procedures. For more comprehensive information on academic integrity, including categories of academic dishonesty, please refer to the academic judiciary website.

Americans with Disabilities Act

If you have a physical, psychological, medical or learning disability that may impact your course work, please contact Disability Support Services, ECC (Educational Communications Center) Building room 128, (631) 632-6748. They will determine with you what accommodations, if any, are necessary and appropriate. All information and documentation is confidential.

Critical Incident Management

Stony Brook University expects students to respect the rights, privileges, and property of other people. Faculty are required to report to the Office of Judicial Affairs any disruptive behavior that interrupts their ability to teach, compromises the safety of the learning environment, or inhibits students' ability to learn. Faculty in the HSC Schools and the School of Medicine are required to follow their school-specific procedures.