Textbook and Resources

Required Textbook Think Python: How to Think Like a Computer Scientist. Allen B. Downey. O’Reilly Media, 2015. ISBN: 1491939362. Available for download or purchase.
CS5001 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.

Piazza

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

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!

Communication

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.

Assignments, Labs, and Practice Problems

All homework assignments, labs, and practice problems will be posted on the Schedule page. Homeworks are posted on Thursday, and usually due the following Thursday unless otherwise noted. Labs are posted on Thursday as well.

Practice problems are usually posted on Tuesdays, and are completely optional. They exist just to give you a little hands-on practice if you want it between lecture and lab/homework. But you can absolutely excel in this class without ever even looking at a practice problem. Totally optional.

You'll submit homework assignments using the CCIS HandIn server. We'll cover this in our first lab, but in the meantime 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:

'''
CS5001
HW2
MyName
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

Recitation (CS5003)

You MUST sign up for the lab section, CS5003. Although labs are not graded, we expect you to be present during your lab section.

Recitations are our lab for this class, and they are scheduled every Thursday. Bring your laptop, and we will spend that time solving particular problems that are directly related to recent course material.

Many labs will require you to work with a partner, usually assigned by me. We call this setup “pair programming.” Each pair will work at one computer, and each partner will contribute to the program. Jumping ahead while your partner watches quietly is NOT acceptable. Here’s how we split up the work:

Homeworks are also assigned and due on Thursdays, so you can use any extra lab time after you've solved the lab assignment to get started on the homework. Take advantage of time with me and with our TAs while we're all in the same room.

Some recitations will be used for Align seminars. See the schedule page for details.

Quizzes and Exams

There will be 4 quizzes during the semester, plus a midterm exam and a final 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. They will be due the following week at 9am, unless otherwise noted.

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

In case of an emergency, please call campus police.

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.