Introductory Programming in Python

Announcements

Course Outline

  1. Basic Concepts
  2. Running Python and Python Code
  3. Basic Output
  4. Program State and Basic Variables
  5. Basic Input
  6. Flow Control: Conditionals
  7. Flow Control: Conditional Loops
  8. Flow Control: Sequential Loops
  9. Lists
  10. Tuples
  11. Dictionaries
  12. Strings in Depth
  13. Flow Control: Functions
  14. Variable Scope
  15. Importing Standard Modules
  16. More on Command Line Arguments
  17. Random Numbers
  18. Files for Input and Output
  19. Regular Expressions
  20. Basic Parsing
  21. Operating System Functionality
  22. Handling Dates and Times
  23. Writing Meaningful Error Messages
  24. Understanding Python's Error Messages
  25. Flow Control: Exceptions
  26. Debugging
  27. Flow Control: Recursion
  28. Classes and Objects
  29. Advanced Data Structures: Queues
  30. Advanced Data Structures: Stacks
  31. Advanced Data Structures: Trees
  32. Database Theory
  33. Relational Databases
  34. Structured Query Language
  35. Interfacing with databases using Python
  36. Parallel Processing
  37. Event Oriented Flow Control
  38. Graphical User Interfaces with WxPython
  39. Web Programming and Web Services

Other Practice Material

Practice makes perfect, although in terms of programing, it might be better said that practice makes adequate. Learning to program requires practice, and lots of it. While there are exercises provided with each lesson, going from basic to tricky, there are not nearly enough to make a good programmer from a complete beginner. Truth be told, no number of exercises can do this. Becoming a good programmer requires a desire to learn, and a desire to solve problems, both classical problems in the form of exercises, and problems of your own devising/encounter. That said, if you cannot find enough of the former, here are some links to resources that provide problems for you to solve.

Miscellaneous Material

Reference Material