CS 224 -- Programming in Python
|| Lecture: Centennial 2311
Lab: Wing Technology 16
|| 1:10--2:05 PM Monday, Wednesday, Friday
|| David Mathias
|| Wing Technology 212
|| dmathias AT uwlax DOT edu
| Office hours:
|| Monday, Tuesday, Wednesday, Friday: 9:00--11:00
|| PDF format
|| Allen B. Downey, Think Python, 2nd Edition, O'Reilly, 2015.
|| A few (possibly) useful items for students in this class.
This course presents the syntax and semantics of a particular programming language. Different offerings of the course will present different languages. Students are expected to be fluent in another programming language prior to enrollment.
- Variables, expressions and statements.
- Functions, return values, parameter modes.
- Conditional statements.
- Iteration, lists, list comprehension.
- Strings, dictionaries, tuples.
- Classes and objects, functions \amp methods.
By the end of the course, students should be able to:
- Understand the syntax and semantics of the following elements of Python:
- Simple data types including bool, int, float, complex
- Collection data types including string, tuple, list, set, dictionary
- Other built-in types including File, Function, Class, Method
- Operators and expressions involving:
- Relational operators
- Arithmetic operators
- Logical operators
- List comprehension
- Control flow including loops and conditionals
- Understand the difference between classes and objects
- Write classes and create and use objects
- Understand file I/O
- Understand and implement programs that utilize the above topics
- 25% -- Programming Assignments
- 10% -- In-class Programming and activities
- 20% -- Project
- 25% -- Quizzes (approximately 10, equally weighted)
- 20% -- Final Exam
One of the largest components of your grade in this course is outside-of-class programming assignments. The only way to learn how to program is by programming. You will not be successful in this class unless you write your own code. I encourage you to study with others and to discuss concepts and ideas with classmates. However, you must write and submit your own work.
- Programs are due at 11:59 PM on the due date. There is a long and proud tradition of programs being due at that time. You are, of course, welcome to submit well before the deadline.
- Late submission are accepted up to 48 hours after they are due. Up to 24 hours late, there is a 20\% penalty. Up to 48 hours late, there is a 50\% penalty. Programs will not be accepted more than 48 hours after they are due.
- Include, at the top of your program file, a block comment with the following information (in this order): your name, the assignment number, the due date, and a brief description of the assignment.
- Comment your code. You will be tempted to skip this. Resist that temptation. Good commenting is critical.
- Adhere to the coding conventions we discuss in class. I don't care that your uncle's wife's cousin told you to do things a different way. There are many ways to format code and I don't claim that my way is the right way but it will be much easier for us to talk about code if we all use a common format.
One day each week, we will meet in the CS department lab, 16 Wing Technology Center. During these sessions, you will be given a manageable programming assignment to complete. You are encouraged to work in pairs. While completion of the assignment is the goal, credit will be given based on making a good faith effort to solve the problem.
Additional information relevant to the course is available on the syllabus.