Stony Brook University – Spring 2020

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

Lectures

Tuesdays & Thursdays, 5:30 pm – 6:50 pm in Frey Hall 100 online via Zoom. Lecture meetings will be recorded via Echo360. Please note that attendance at lecture is still expected. Your active participation during classtime will make the course that much more engaging!

Lab Sessions

All lab sessions take place in Computer Science 2114, the "old" CS building. Labs will take place asynchronously. Students will complete lab assignments at their own pace.

  • L01: Tuesdays 9:00 – 9:53 am (TAs: Yuxin Xue, Theodore Hanakis, Jasmine Chin)
  • L02: Thursdays 9:00 – 9:53 am (TAs: Michelle Lin, Michelle Huang, Junkai Lin)
  • L03: Tuesdays 10:00 – 10:53 am (TAs: Jagrati Bhardwaj, Siva Sai Chandra Boppudi, Vijaya Sai Rachana Kummathi)
  • L04: Thursdays 10:00 – 10:53 am (TAs: Jagrati Bhardwaj, Siva Sai Chandra Boppudi, Vijaya Sai Rachana Kummathi)
  • L05: Tuesdays 11:00 – 11:53 am (TAs: Agnieszka Gawrys, Abhinay Reddy Madunanthu, Aditya Ravindra Gaikwad)
  • L06: Thursdays 11:00 am – 11:53 am (TAs: Abhinay Reddy Madunanthu, Aditya Ravindra Gaikwad, Shengwei Li)

Textbooks:

  • Recommended: Explorations in Computing: An Introduction to Computer Science and Python Programming by John S. Conery. Chapman and Hall/CRC, 2014. ISBN 978-1466572447.
  • Available online: 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. THis book can be downloaded this book for free at the given link.

Communication with the Course Staff

Instructor Info

  • Prof. Kevin McDonnell
  • Email: ktm@cs.stonybrook.edu
  • New Computer Science Building 212
  • Office Hours:
    • Mondays and Thursdays 10:00 - 11:30 am via Zoom
    • Other times by appointment

Teaching Assistant Office Hours

See the office hours schedule for TA office hours. All office hours are held in Computer Science 2217 online via Zoom.

Piazza

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, students 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.

If code is relevant to a student's Piazza question, the student may post only short code snippets. For more extensive help with reviewing or debugging code, students must attend office hours.

Email Etiquette

A student should email the instructor under the following circumstances:

  • Blackboard is not properly displaying a grade.
  • One cannot come to office hours and would like to set up an appointment to meet at another time. In this case, the should include his/her availability for the upcoming week.
  • If a student needs 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 one's coursework such as physical or mental illness, death in the family, etc.

When emailing the instructor about the course, students should observe the following guidelines to ensure a timely response:

  • use one's official @stonybrook.edu 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 one's question or concern or request
  • end with a proper closing that includes one's full name, Net ID and SBU ID number

Assessments and Grading Scheme

Homework Assignments

Students will be assigned five 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.

Laboratory 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. Lab exercises must be completed by the end of a student's official lab period. Lab work must be demonstrated to a TA during lab time for a student to receive credit. While the TA reviews a student's lab work, the TA will ask the student one or more questions about the lab material beforing awarding credit for the lab exercises.

Make-up Lab Sessions

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

Examinations

There will be three examinations. All exams will be closed-book and closed-notes. No access to electronic devices will be permitted during exams. Exams #2 and #3 will be given online via Blackboard. Students must use Respondus Lockdown Browser to take both online exams.

Although there will be no cumulative final examination, Exam #3 will take place during Finals Week, 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 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: Tuesday, March 3rd during class time
  • Exam #2: Tuesday, April 7th during class time Tuesday, April 14th online via Blackboard. Exam must be taken using Respondus Lockdown Browser.
  • Exam #3: Wednesday, May 13th from 5:30 pm – 6:50 pm in a location to be determined online via Blackboard. Exam must be taken using Respondus Lockdown Browser.

Re-grading

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. Any grading errors you find on a homework submission must be emailed to cse101grades@cs.stonybrook.edu, not to the instructor or a teaching assistant. 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: 30%
  • Laboratory Exercises: 10%
  • Examinations: 60%

Grade Cutoffs: A [93-100], A- [90-93), 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.