Stony Brook University – Summer Session II Extended 2018 (Online Course)

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


Delivered asynchronously via videos posted to Blackboard.

Lab Sessions

Online, delivered synchronously on Mondays and Wednesdays 10:00 am - 11:00 am EDT via SB-Connect on Blackboard.


  • 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.

Communication with the Course Staff

Instructor Info

  • Prof. Kevin McDonnell
  • Email:
  • New Computer Science Building 212
  • Office Hours:
    • By appointment only.


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

Lab Assignments

Students will usually be assigned two sets of computer programming laboratory exercises each week. These exercises will reinforce the programming and problem-solving content covered in lecture. Students will be expected to attend online lab meetings twice per week via SBConnect on Blackboard.

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.


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

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 Dean of Students 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: July 17th from 1:00 – 2:30 pm EDT in Humanities 1003
  • Exam #2: August 2nd from 1:00 – 2:30 pm EDT in Humanities 1003
  • Exam #3: August 16th from 1:00 – 2:30 pm EDT in Humanities 1003


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

  • Laboratory Assignments: 25%
  • 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?
  Computer Programming Fundamentals
2 Iteration, Lists and Algorithm Design
  Searching and Sorting Algorithms; Scalability
3 Divide and Conquer Algorithms
4 Recursion (cont.)
  Exam #1
5 Machine Learning and String Manipulation
  Random Numbers and Object-oriented Programming
6 Data Representation and Compression
  Exam #2
7 Computer Architecture and Assembly Language Programming
  Natural Language Processing and Regular Expressions
8 The Limits of Computation; Cryptography
  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 the Student Accessibility Support Center, 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.