Application of programming principles using the Python language. Covers fundamental elements of the object-oriented model, briefly introduces the functional programming paradigm, and illustrates concepts with a Python workflow including Jupyter Notebooks. Extensive laboratory work.
By the end of the course, students will be able to:
Admission to the graduate program in computer science or consent of department.
The course will focus on modern programming in Python, including the concepts behind the programming constructs and syntax. Programming assignments will provide the opportunity to use these techniques. The course will have three exams.
Please note that the schedule is subject to change, although exam dates are not expected to change. Please check the web site for the latest assignments and readings. The schedule adheres to the university’s academic calendar and final exam schedule.
Three exams will be given, two during class and the other at the assigned final exam time. Exams will be given online at the scheduled class/exam time. Exams can only be made up in case of a documented emergency. Valid documentation includes notes from a doctor or a nurse, though not for a scheduled appointment; evidence of jury duty or of court appearance; evidence of military obligations. Notes from relatives do not constitute valid documentation, nor does proof of travel arrangements. Other kinds of documentation may be considered valid (or not) at the professor’s discretion.
There will be frequent assignments throughout the course to help concretize the concepts being discussed in lectures. Assignments will be turned in via Blackboard. Assignments will be announced both in class and on the course web site. Assignments are due at the time specified; late assignments will be accepted according to the late policy below. If you are seriously ill or have a family emergency before the assignment is due, please let me know as soon as possible so we can make necessary arrangements. Do not notify me after the assignment is due!
Short quizzes may also be given about a concepts covered in class to provide students a way to check their comprehension of current topics. Quizzes are generally announced but may be unannounced.
For assignments, you have three late days (72 hours) to use as you wish. After your late days are used, you will receive (100-10*N/6)% of your score where N ≤ 48 is the number of hours (rounded up) after the stated deadline. Weekends count.
At a minimum, grading ranges will be 90-100% A, 80-90% B, 70-80% C, 60-70% D, < 60% F, but these ranges may be curved in the students’ favor.
The course will use Python 3.8 and its libraries for programming assignments. Jupyter notebooks will also be commonly used in lecture and for assignments, and should run on a common platform.
Students are responsible for reading messages sent to their @niu.edu accounts. The course instructor will attempt to respond to course-related email sent to the instructor’s @niu.edu address in a timely manner. In addition, students should turn in work via the Blackboard system unless otherwise specified, and scores and feedback will be available via that system.
Except for changes that substantially affect the evaluation (grading) of the course, this syllabus is a guide for the course and is subject to change. Please refer to the current online version for the most current information.
Any extra credit opportunities will be announced, and all students will have equal notice to take advantage of these opportunities.
Students are expected to follow the Student Code of Conduct within the classroom settings. Faculty may ask students to leave if the faculty member(s) determines that the code of conduct has been violated and a student is creating an environment that is unsafe or not conducive to learning.
You may not record lectures without the instructor’s permission. Please do not cause distractions that detract from your fellow students’ learning; please mute yourself when you are not actively participating in a lecture. Please note that not participating in lectures (e.g. working on another assignment during lecture) will affect your learning as well as the class participation portion of your grade.
Good academic work must be based on honesty. The attempt of any student to present as his or her own work that which he or she has not produced is regarded by the faculty and administration as a serious offense. Students are considered to have cheated if they copy the work of another during an examination or turn in a paper or an assignment written, in whole or in part, by someone else. Students are guilty of plagiarism, intentional or not, if they copy material from books, magazines, or other sources without identifying and acknowledging those sources or if they paraphrase ideas from such sources without acknowledging them. All students should read and understand the University’s Student Code of Conduct and Academic Misconduct Process.
Students must complete their own work. They must not submit work from another source (e.g. another student, a book or other published document, or a website). This includes your own work; if you wrote a document for another course that you are using in this course, you must acknowledge that. You must explicitly acknowledge anything that you did not write yourself for this course. Consequences range from a zero on the assignment to dismissal from the university. In this course, the instructor reserves the right to use the plagiarism detection software.
It is the responsibility of each student to make sure that each programming assignment cannot fall into the hands of others. This will require each of you to secure and track all versions of your program. If another student submits a copy of your program, both of you will share the blame and consequences equally. Students must not post material from this class, including answers to the homework assignments, on any shared web site.
A student found responsible for academic dishonesty is subject to severe disciplinary action, which may include dismissal from the University.
If you need an accommodation for this class, please contact the Disability Resource Center (DRC) as soon as possible. The DRC coordinates accommodations for students with disabilities. It is located in the Campus Life Building, Suite 180, and can be reached at 815-75-1303 or drc@niu.edu.
Also, please contact the instructor privately as soon as possible so we can discuss your accommodations. Please note that you will not be required to disclose your disability, only your accommodations. The sooner you let me know your needs, the sooner I can assist you in achieving your learning goals in this course.
I am committed to making course content accessible to all students. If English is not your first language and this causes you concern about the course, please speak with me.
Class rosters and University data systems are provided to faculty with the student’s legal name and legal gender marker. As an NIU student, you are able to change how your preferred/proper name shows up on class rosters. This option is helpful for various student populations, including but not limited to: students who abbreviate their first name; students who use their middle name; international students; and transgender students. As a faculty member, I am committed to using your proper name and pronouns. Please advise me if there are any changes.
NIU is committed to ensuring that your learning and work environment is the safest possible. A community that is free from all forms of sex discrimination including sexual assault. Learn more about resources if you or someone you know has experienced sexual misconduct and explore the resolution processes.
Undocumented students are welcome in this class. If you are undocumented and need assistance with successfully completing courses or a degree at NIU, the coordinator for Undocumented Student Support, Sandy López, can help you with advising, campus services designed for undocumented students, and other university resources. Visit Sandy in the Campus Life Building, room 236 or contact her at slopez1@niu.edu or 815-753-2391.
These are extremely stressful times. You are not alone in feeling it. We are all living with unsettling uncertainty, and it affects the way we perceive the world, ourselves, and others. Such feelings may be persistent or may come on suddenly. Please be patient with each other and help support a healthy learning environment. If you or somebody you know is struggling with anxiety or other issues, do not hesitate to reach out. Resources available include the DRC and Student Counseling Services (815-306-2777).