EECS 110 : Course Structure and
Policies
Course Aims and
Objectives
To
give students the tools to take a computational problem through the process of
design, implementation, documentation, and testing.
Objectives:
1.
Break a broad problem down into specific
sub-problems
2.
Write an algorithm to solve a specific
problem, and then translate that algorithm into a program in a specific
programming language (Python)
3.
Write clear, concise documentation
4.
Develop test cases that reveal
programming bugs
Prerequisites
None
Course Content
Lecture
There are two lectures per week (Monday
and Wednesday). Attendance at these lectures is critical, as all new material
will be presented in lecture. During lecture, you will sometimes be asked to
complete a short worksheet to get some initial practice with the material.
Completion of these worksheet is not part of your course grade.
Lab
Each week (Tuesdays)
you will attend a two-hour closed lab session. The labs are run by the course
faculty and TAs and will be held in
Wilkinson lab (M338). They
provide a great opportunity for you to practice with new material on some fun
problems in a supervised setting. You're
encouraged to bring your laptop computer, if you have one, to lab. The
directions for the Wilkinson lab
Recitations
Each week (Fridays)
there will be a recitation class held by a TA. These lectures are not required,
but they are highly recommended since they will be helpful in solving the
homework problems.
Homework
Each week you will be
assigned a set of homework problems. These problems will be due on Sunday
evening at 11:59pm, unless otherwise indicated.
Pair Programming
Each assignment typically contains one or more
"individual" problem that you must complete on your own. You may
complete the rest of the problems alone or with one other student. If you
choose to work with a partner, you must work with the same partner for the
entire assignment that week. You and your partner will submit only one solution
for each problem. You may switch partners between assignments. If you choose to
work with a partner, you must work together, at the same computer, for every
problem that you do together. While you are working, the computer screen should
be visible to both people. One person should type, while the other person
observes, critiques and plans what to do next. You should switch roles
periodically. You may think about the problems individually and make minor bug
fixes, but your solution overall should be a true joint effort. Splitting up
the work is in violation of the Honor Code.
Late Homework Policy
Homework is due on the day indicated at 11:59 PM sharp. You
will be able to make three 24-hour
extensions on any one homework assignment. Homework that is more than 24 hours
late (according to the above extension policy) or submitted after the deadline
no extensions are possible, will not be accepted for
any reason. In extreme circumstances (such as serious illness), if you require
an additional extension or a longer extension, you must go talk to Prof.
Kuzmanovic.
Cheating Policy
For homeworks its OK to ask someone about the concepts or
algorithms, needed to do the problems. We encourage you to do so and it will
help everyone to learn. However, what you turn in must be your own work or if
you will be working in pairs then your group's own work. Copying other people's
code, or from any other sources online is strictly prohibited. We will check
each homework for any kind of code similarities and will punish transgressors
severely. If you have any questions about what behavior is acceptable, it is your
responsibility to come see the instructor/TAs before you engage in this behavior
Submissions
All submissions will be done on
Canvas. You can log in by
using your netID. Because we allow submissions to be done 24 hours later than
the deadline (maximum three times) according to the Late Homework Policy
mentioned above, the submission window will be open till
Monday 11.59 PM even though the deadline will be Sunday 11.59 PM for each
homework. Whoever wishes to use the late submssion policy can still submit on Canvas till Monday midnight.
Grading
There will be a
midterm and a final exam. Exams will be in-class, closed-book, and will cover
materials from lectures, required readings and projects. The final exam will
not be cumulative. Your grade for this class will be a combination of your
homework and exam scores. Project grades will be incorporated into your
homework score. Each homework assignment is worth 100 points. The project
counts as two homework assignments, and is worth 200 points. Based on these
point values, the approximate weight of each component is:
Homework+Project:
75%
Exams: Midterm: 10%, Final: 15%
Communication
Course web site: http://networks.cs.northwestern.edu/EECS110-s18.
Check it out regularly for schedule changes, clarifications and corrections to
assignments, and other course-related announcements.
Recitation. TA will lecture on
complementary materials of the lectures, address questions for homework and
projects, and help to prepare the exams. We hope it can help students more
efficiently than the one-on-one Q&A in office hours.
All students, TAs, and faculty will be
accessible via the Canvas
group e-mail address. If you have specific questions that you want to ask
either the faculty or the TAs, you can do that by sending an e-mail directly to
them (Aleksandar Kuzmanovic: akuzma@northwestern.edu,
Ibrahim Emirhan Poyraz:
emirhan@u.northwestern.edu
April, 2018, Aleksandar Kuzmanovic