Course Overview
CS 110: Introduction to �Computer Programming with Python
Outline
About Me
a. But in this course, you need absolutely NO background in programming
Outline
Overview of the course
Why should I take this course?
Programming is useful�It can be used to accomplish diverse, creative, and important social, scientific, and aesthetic goals.
Not just for computer scientists�Most people who write computer programs are not computer scientists, but rather people who occupy a range of professions — journalists, geographers, sociologists, scientists, artists, musicians, entrepreneurs, city planners, researchers, and many more.
Why should I take this course?
Part of a modern, computational literacy�Apart from work: as data and computing increasingly mediate modern life, knowing a bit about how these systems work is a valuable modern literacy that can help you to better reason about their benefits, risks, and harms.
How is this course different from majors track?
CS 110�Recommended for people who are:
CS Majors Introductory Progression
What am I going to learn?
1. The fundamental building blocks
Data Types�Tells the interpreter how to treat a data value: different data types have different capabilities
Expressions�constants operators, functions, methods, and so forth
Statements�Control structures, assignment, and so forth
Functions�A way of organizing code to make it modular and reusable (i.e. they “encapsulate logic’). Can receive and return data.
Control�The specific order in which the interpreter runs a program. Code runs from top-to-bottom but can also jump around (i.e. branch and repeat). It can be executed when particular events are called.
Objects�Bundles together data and logic to manage complexity. Everything in Python is an object
Modules�Convenient groupings of functionality that you import into your code (e.g. urllib, matplotlib)
2. Some computing applications
3. Some useful programming practices
See the course schedule for more information�
How am I going to learn it?
1. Lecture
In lecture, we will:
2. Office Hours
At some point in this course, you will find that the lecture and readings alone are not enough to help you understand a particular concept or get through an assignment. This is just the nature of learning to program.
Office Hours can help!
2. Office Hours
What can you do in office hours?
3. Tutorials
4. Practice
You have to teach yourself to program! This is not the Matrix: I can’t infuse you with Python knowledge as you passively sit there.
Questions so far?
Outline
Course Logistics & Communication
Tutorials
This course involves a series of hands-on tutorials that you will work with members of the teaching staff to complete.
We will grade your tutorials based on effort (pass/no pass). In other words, even if you don’t get everything working perfectly, you will still get full credit if you demonstrate a good-faith effort. You must submit at least 7 tutorials (out of 8 or 9) on the day the tutorial is due — usually Wednesdays.
While only 7 are technically required, we encourage you to complete all of the tutorials.
No late tutorials will be accepted, as we will post solutions right away.
Grading
Your course grade is calculated based on 200 points as follows:
2 Projects | 2 x 40 Points | 80 Points | 40% |
2 Quizzes (of 3) | 2 x 30 Points (lowest score dropped) | 60 Points | 30% |
5 Homeworks (of 6) | 5 x 8 Points (lowest score dropped) | 40 Points | 20% |
7 Tutorials (of 8 or 9) | 5 x 4 Points (lowest scores dropped) | 20 Points | 10% |
|
| 200 Points | 100% |
Homework Grading
Homeworks are graded according to the following scale:
No credit | 0 Points | Little understanding/effort demonstrated |
Check minus | 3 Points | Some effort made, but significant features are missing or not working |
Check | 6 Points | Mostly working, but some errors or issues were found |
Check Plus | 8 Points | Excellent work: Works exactly as it should, follows design guidelines; and demonstrates understanding of the learning objectives |
Homework Grading
Work and Grading
Course Staff
Instructor
Grad TA
Peer Mentors
We have 10 undergraduate TAs to help you. See the syllabus for their contact info.
Accommodations
Any student requesting accommodations related to a disability or other condition is required to register with AccessibleNU (847-467-5530) and provide professors with an accommodation notification from AccessibleNU, preferably within the first two weeks of class.
All information will remain confidential.
Integrity, Honesty, and Climate
Posturing�This is a course that is designed for beginning programmers. Please respect each other’s learning process. No shaming, no showing off. If you want to discuss topics beyond the scope of the course, come to my office hours!
Academic Honesty
On Comparing Yourself...
Some people are coming into this class with a lot of programming experience. Some people have *never seen a line of code in their entire lives.
On Taking Initiative...
If you are feeling lost or overwhelmed, this is very normal. There are things you can do to reset and get back on track:
We want everyone to be successful, but you need to reach out and advocate for yourself. Take advantage of the resources that are available to you!
Outline
For Next Class...
https://piazza.com/northwestern/spring2023/cs110/home
2. Watch the lecture video before class (will be posted soon)!
3. You will be signing up for tutorials on Friday which start next week!