Textbook and Resources

Required Textbook Think Python: How to Think Like a Computer Scientist. Allen B. Downey. O’Reilly Media, 2015. ISBN: 1491939362. Available online or purchase.
DS2000 Style Guide Python Style Guide
Optional Textbook (PDF) Fundamentals of Python Programming (PDF). Halterman, Southern Adventist University.
Optional Textbook (web) Problem Solving with Algorithms and Data Structures Using Python

Software and Access

We'll be using Python 3 in this class. Download it onto your own computer before the semester begins. We'll write code using IDLE, Python's own Integrated Development Environment (IDE). An IDE combines the Python interpreter with an editor for your code, which makes it easy to work on your code and test/run your software.

Download Python 3.7.1 from https://www.python.org/downloads/release/python-371/. It's available for Windows, Mac OSX, and Linux. Once installed, click on IDLE to open it up. You can use Python's interactive environment, or you can write and save a file with a .py extension.

You also must sign up for a CCIS account. Follow these instructions to register for one. You'll use your CCIS account to submit your homework assignments and, if you like, to login to the lab machines in WVH 210/212.


Sign up for our Piazza page: https://piazza.com/northeastern/spring2019/ds2000.

Piazza is an extension of our classroom discussion, and we expect everyone to behave accordingly. No disrespect, rudeness, or abuse will be tolerated -- towards fellow students or towards the course staff. Piazza will be disabled if we feel it is being misused.

You may not post your code on Piazza, but you can ask, answer, and discuss different things you've tried, what worked and didn't work, and resources you've found.

We'll also use Piazza to post course announcements, so make sure your email settings are turned on!


Piazza is the best place to ask general questions, get clarification on a homework spec, ask a follow-up from lecture, etc. Remember not to post code on Piazza, though!

Email (laneys @ northeastern.edu) is the best tool for specific questions or concerns about your experience in class, cashing in your late token, or anything sensitive in nature. During the week, I'll respond within 24 hours, but don't expect a response after 9pm. On the weekends I'll be slower to respond, but if you reach out over a weekend you can expect to hear back by Sunday evening.

Office hours are the best place for talking through your approach to a homework problem. We're not here to give you answers, of course, but to be your fellow computer scientists thinking through a tough problem with you. Expect us to ask more questions than we answer.

Working on and Submitting Homework

All homework assignments will be posted on the Schedule page. Homeworks are posted on Friday, and usually due the following Friday unless otherwise noted.

You'll submit homework assignments using the CCIS HandIn server. Make sure you sign up for a CCIS account (see "software to install", above). Labs and practice problems are not turned in for a grade.

Academic Integrity

While students are encouraged to discuss course materials, no plagiarism/copying is allowed on homework. In particular,

You may consult online resources as part of your course work, but you may not copy code from online sources. If you get an idea of how to solve a problem from an online source, include a short citation in a code block at the top of your .py file:

Consulted Stack Overflow for swapping variables: https://stackoverflow.com/questions/16749669/how-to-swap-more-than-two-variables-using-temporary-variables

You do not need to include a similar notation if you consulted with a classmate; we expect that. Just don't share code.

The above policy applies only for homeworks, which are graded. You are welcome to share code for labs and practice problems.

If you have a question about what is considered a violation of this policy, ASK!

The university's academic integrity policy discusses actions regarded as violations and consequences for students: http://www.northeastern.edu/osccr/academic-integrity

Quizzes and Exams

There will be 4 quizzes during the semester, plus a midterm exam. They will be administered entirely on paper; no notes or books or devices are allowed during exams/quizzes. You must be present in class to receive a grade. Missed quizzes/exams will count zero.

If you must miss a quiz/exam due to extreme, unanticipated circumstances such as an illness or a family emergency, notify me via email before the event.

Lateness Policy

Homeworks are assigned (almost) every week during the first half of the course.

You are allowed to submit homework late only ONCE. Think of this policy as a "late token"... once it's used up, that's it. To cash in your late token, email laneys @ northeastern.edu at least one hour before the original deadline. You will be granted an additional 4 days to complete and submit the assignment.

Apart from your single permissible late homework, no late submissions will be accepted. Missing homeworks will receive zero credit.

Title IX

Title IX of the Education Amendments of 1972 protects individuals from sex or gender-based discrimination, including discrimination based on gender-identity, in educational programs and activities that receive federal financial assistance.

Northeastern’s Title IX Policy prohibits Prohibited Offenses, which are defined as sexual harassment, sexual assault, relationship or domestic violence, and stalking. The Title IX Policy applies to the entire community, including male, female, transgender students, faculty and staff.

If you or someone you know has been a survivor of a Prohibited Offense, confidential support and guidance can be found through University Health and Counseling Services staff (http://www.northeastern.edu/uhcs/) and the Center for Spiritual Dialogue and Service clergy members (http://www.northeastern.edu/spirituallife/). By law, those employees are not required to report allegations of sex or gender-based discrimination to the University.

Alleged violations can be reported non-confidentially to the Title IX Coordinator within The Office for Gender Equity and Compliance at: titleix@northeastern.edu and/or through NUPD (Emergency 617.373.3333; Non-Emergency 617.373.2121). Reporting Prohibited Offenses to NUPD does NOT commit the victim/affected party to future legal action.

Faculty members are considered "responsible employees" at Northeastern University, meaning they are required to report all allegations of sex or gender-based discrimination to the Title IX Coordinator.

Please visit http://www.northeastern.edu/titleix for a complete list of reporting options and resources both on- and off-campus.

Students with Disabilities

Students who have disabilities who wish to receive academic services and/or accommodations should visit the Disability Resource Center at 20 Dodge Hall or call (617) 373-2675. If you have already done so, please provide your letter from the DRC to me early in the semester so that I can arrange those accommodations.