About the Course
A technical introduction to the fundamentals of programming with an emphasis on producing clear, robust, and reasonably efficient code using top-down design, informal analysis, and effective testing and debugging. Starting from first principles, we will cover a large subset of the Python programming language, including its standard libraries and programming paradigms. This course assumes no prior programming experience. Even so, it is a fast-paced and rigorous preparation for 15-122. Students seeking a more gentle introduction to computer science should consider first taking 15-110. NOTE: students must achieve a C or better in order to use this course to satisfy the pre-requisite for any subsequent Computer Science course.
Learning Outcomes
Upon the successful completion of this course, students will be able to:
- write medium-sized (couple-hundred line) programs in Python to implement a solution to a specified problem
- decompose the solution into appropriate functions using top-down design
- use sequential, conditional, and loop statements where appropriate in solving a programming task
- understand and use Python strings, lists, tuples, and dictionaries
- write graphics-based programs and animations
- understand and use recursive functions
- understand the rudiments of efficiency (Big-O)
- develop a sense of proper programming style and pro-active testing
For a detailed sequence, see the lecture schedule.
Meeting Times
June 29 – Aug 07
Mon, Tue, Wed, Thu, Fri
9:00am – 10:20am
GHC 4215
Prerequisite
none (other than a willingness to work hard!)
Textbook
There is no course textbook. Lecture notes and other resources will be provided.
The following textbook is recommended for 15-112:
Exploring Python by Timothy Budd Publisher: McGraw-Hill (2009) ISBN: 978-0073523378 |