General Information
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 |