Instructor: Adam Dingle
This course is a fast-paced introduction to programming and basic data structures, with a strong emphasis on learning to write working code. It assumes no previous programming experience. The course uses the Python 3 programming language.
Throughout the course students will complete many programming exercises in Python, solving a wide variety of programming problems.
The weekly lecture for this class takes place every Monday from 9:00 - 10:30 in room S8. The first lecture will be on Monday, October 7.
There is also a weekly tutorial ("cvičení") every Wednesday from 9:00 – 10:30 in the laboratory SW2. In the tutorial sessions we will solve various programming problems together. The first tutorial will be on Wednesday, October 2.
This is a pass/fail course: you will not receive a numeric grade.
To pass this class, you must fulfill the following requirements by Friday, February 14, 2020 (the end of the exam period):
Complete a number of programming exercises through the semester. I will assign these exercises weekly, and you can submit your solutions to the ReCodEx automated grading system. To pass, you will need to earn at least 70% of the total possible points. Any points that you earn over 85% (up to a maximum of 15%) will be applied as bonus points to your exam score when you take the exam.
Pass a written exam at the end of the semester.
Write a program in Python as a semester project. Your program should accomplish something that is interesting, cool, or fun and can be 100-300 lines long, or longer if you like. Here are some project ideas. Please send me a one-paragraph project proposal by Sunday, December 8th. A first working version of your project is due by Sunday, January 26th. A final version is due by Sunday, February 2nd.
Regularly attend the lectures and tutorials and participate in class.
Two teachers (Martin Koutecký and Vašek Končický) will lead mentoring sessions in computer science and math on Thursdays from 15:40 - 18:50 in room S510 on the fifth floor.
Feel free to stop by my office hours (Fridays from 13:00 - 14:30 in room 405).
Bill Lubanovic, Introducing Python, 2nd Edition (O'Reilly, 2019) (also available here)
John Guttag, Introduction to Computation and Programming Using Python, 2nd Edition (MIT Press, 2016)
This is a rough map of the ground we plan to cover in this class: