Lectures (Video)

- 1. Introduction
- 2. Operators and operands
- 3. Common code patterns
- 4. Functions
- 5. Floating point numbers
- 6. Bisection methods
- 7. Lists and mutability
- 8. Log, linear, quadratic, exponential algorithms
- 9. Binary search, bubble and selection sorts
- 10. Divide and conquer methods
- 11. Testing and debugging
- 12. Introduction to dynamic programming
- 13. Dynamic programming
- 14. Analysis of knapsack problem
- 15. Abstract data types, classes and methods
- 16. Encapsulation, inheritance, shadowing
- 17. Computational models
- 18. Presenting simulation results
- 19. Biased random walks
- 20. Monte Carlo simulations
- 21. Curve fitting, linear regression
- 22. Normal, uniform, and exponential distributions
- 23. Stock market simulation
- 24. What do computer scientists do?

## Introduction to Computer Science and Programming

### Course Summary

This course is based on

This subject is aimed at students with little or no programming experience. It aims to provide students with an understanding of the role computation can play in solving problems. It also aims to help students, regardless of their major, to feel justifiably confident of their ability to write small programs that allow them to accomplish useful goals. The class will use the Python programming language. (The course include a full set of video lectures).
*6.00 Introduction to Computer Science and Programming, Fall 2008*made available by*Massachusetts Institute of Technology: MIT OpenCourseWare*under the*Creative Commons BY-NC-SA*license.### Reading Material

1.**How to Think Like a Computer Scientist: Learning with Python (1 MB pdf)**

Allen Downey, Jeffrey Elkner, Chris Meyers.

*How to Think Like a Computer Scientist: Learning with Python*, Green Tea Press, 2008

Available for free download at the link above.

2.

**Python Programming**

Online book on python programming available at Wikibooks.

3.

**The Python Tutorial**

An online tutorial on Python.

4.

**Python Programming: An Introduction to Computer Scienc**

Zelle, John.

*Python Programming: An Introduction to Computer Science.*Wilsonville, OR: Franklin, Beedle & Associates, 2003. ISBN: 9781887902991.

(Click the button below to see a preview of the book)