Python for Fine Programmers
This course will provide an introduction to programming using PythonTM for motivated students with some or no prior experience in programming.
The course will cover the main problem-solving/algorithm strategies and give training in Python by implementing the strategies discussed in the lecture.
As it is said that one can become a fine programmer either by:
(i) Years of programming OR (ii) Doing some programming along with an algorithm course.
This course lets the students choose the latter option.
The course would not only give an idea about the language, but also would help in giving a feel for better programming practices along with developing some nice programs.
History of the Course
The very same course was offered in Summer Semester 2009 and it contained the basic and important things in python along with some mini-projects of realistic nature. (The basic structure of a search engine was developed through a series of weekly assignments).
For any questions/queries/clarifications, contact: firstname.lastname@example.org
Prof. Dr. Ernst W Mayr
- Teaching Assistant
One lecture / Two hours per week in area III (Theoretical Computer Science).
- Time and Location:
The classes will take place on every Thursday, 12:15–13:45 @ MI 02.09.014
Along with the lecture.
Motivated students with interest in Algorithms or learning a language which is used in great projects like StarWars.
- ECTS: 3 points
Basic idea about algorithms and programming would be helpful but not necessary.
- Recommended for:
Students of initial 4 semesters.
- Lecture Notes
To appear here as the lectures take place.
Slides Problem Set Solutions Extra/Trivia Lecture 1 Questions 1 Solutions 1 http://slashdot.org/
Physics for future Presidents
Lecture 2 Questions 2 Why Python by Eric S Raymond
The Socratic Method
Lecture 3 Questions 3 Lecture 4 Questions 4 Lecture 5 Questions 5 TED
Do watch at least the 'mathemagic' talk by Benjamin Arthur.
Lecture 6 Questions 6 Steve Yegge
Lecture 7 Questions 7 Lecture 8
- Tools for computing - basic constructs, Exponents,
- Python - basic types, operators, if/while, Lists
- Programming strategy - Recursion
- Python - Functions, Recursion, for loops, Functions
- Divide and Conquer, Basic data types
- Python - Classes, Object oriented programming
- Regular expression, Hashing
- Python - Regular expressions and dictionaries
- Dynamic Programming
- Python - Strings, String operations.
- Operating system interface, file operations
- Python - file i/o, pickling, shelves
- Tools for computing - basic constructs, Exponents, Logarithm, Automata
Contents of this course are essentially covered by the following books/locations:
- Introduction to Algorithms by Thomas H. Cormen, Charles E. Leiserson, Ron L. Rivest, Clifford Stein.
- Python Tutorial http://docs.python.org/tutorial/