[pythonvis] Re: Proposal: Syllabus for the meetings

  • From: "Joseph Lee" <joseph.lee22590@xxxxxxxxx>
  • To: <pythonvis@xxxxxxxxxxxxx>
  • Date: Fri, 9 May 2014 07:20:11 -0700

Hi,
Most are based on typical contents of Python books (especially Python
Documentation from python.org), parts from my C++ course days and other
introductory courses to computer science. The aim of the syllabus is to
introduce people to Python, its syntax and goodies, as well as provide
gentle exposure to how a computer scientist would think about data,
algorithms and using Python as a tool for solving problems.
Cheers,
Joseph

-----Original Message-----
From: pythonvis-bounce@xxxxxxxxxxxxx [mailto:pythonvis-bounce@xxxxxxxxxxxxx]
On Behalf Of Jeffrey Turner
Sent: Friday, May 9, 2014 4:59 AM
To: pythonvis@xxxxxxxxxxxxx
Subject: [pythonvis] Re: Proposal: Syllabus for the meetings

Joseph,

This looks awesome to me. Did you come up with this yourself, or was it
based on something?

Thanks,
JDog


-----Original Message-----
From: pythonvis-bounce@xxxxxxxxxxxxx [mailto:pythonvis-bounce@xxxxxxxxxxxxx]
On Behalf Of Joseph Lee
Sent: Thursday, May 08, 2014 8:48 PM
To: pythonvis@xxxxxxxxxxxxx
Subject: [pythonvis] Proposal: Syllabus for the meetings

Hi,
One thing that came up during today's meeting was the pace of the course.
We've discussed variables and functions today.  However, some said the pace
might be quite fast, so it was decided to post a proposed syllabus with some
list of exercises that we can try.
My proposed syllabus is as follows:
Part 1: Introductory Python
1.  Getting started: installing python, hello world and running scripts.
2.  Variables, comments and pass statement.
2.1.  Variables as place holders for data (exercise: assign your name to a
variable and print it).
2.2.  Writing comments as reminders and documentation.
2.3.  The pass statement.
3.  Speaking and be spoken to: print and input functions.
3.1.  Print function (exercise: print a string).
3.2.  The input function (exercise: get two numbers, add them and print the
result).
4.  Basic operators.
4.1.  The assignment operator (=).
4.2.  Basic math +, -, *, /, %).
4.3.  Logic (and, or, not).
5.  Conditions and loops.
5.1.  If, elif and else (exercise: print if a number is even or odd).
5.2.  While loop (exercise: write first few sums).
5.3.  For and range (exercise: print each individual character of a string).
6.  Welcome to functions.
6.1.  What is a function (exercise: write an addition function that adds two
numbers).
6.2.  Pass versus return (exercise: return the maximum of two array).
6.3.  Calling different functions
6.4.  Calling functions from different modules (exercise: call a function
defined in another file).
7.  Basic data structures.
7.1.  Strings (exercise: print a string backwards).
7.2.  Lists and tuples (exercise: multiplication table).
7.3.  Dictionaries (exercise: basic phone book).
Part 2: Intermediate Python:
8.  Introduction to classes.
8.1.  Classes versus functions.
8.2.  Defining class variables and methods (exercise: define a person
class).
8.3.  The self keyword (exercise: writing a simle class method).
8.4.  Constructing and assigning variables to classes (the init function).
9.  Operator overloading and classes.
9.1.  Operators are functions (exercise: overloading the plus operator).
9.2.  List of overloadable operators.
10.  Inheritance: specialist objects.
10.1.  Classes are objects.
10.2.  Inheritance (exercise: inheriting a worker class from a person
class).
10.3.  The super keyword (exercise: calling the superclass constructor
before the child class).
10.4.  Multiple inheritance.
11.  Advanced goodies with functions.
11.1.  Functions as objects.
11.2.  Map and reduce (exercise: building a table of lists using map).
11.3.  Recursion (exercise: factorial).
11.4.  using functions from libraries.
12.  Debugging, tracing and exceptions.
12.1.  Rules on debugging (exercise: indentation errors).
12.2.  Tracebacks and trace.
12.3.  Timeit.
12.4.  Exceptions (exercise: throwing an exception after a string input).
13.  Files.
13.1.  Reading from a file.
13.2.  Writing to a file.
13.3.  Manipulating directory paths.
Part 3: Advanced Python:
14.  Comprehensions.
14.1.  List comprehension.
14.2.  Dictionary comprehension.
15.  Generators and concurrent runs.
15.1.  Generators.
15.2.  The yield keyword.
16.  More data structures:
16.1.  Trees.
16.2.  Stacks.
16.3.  Queues and priority queues.
16.4.  Hash tables.
16.5.  Graphs.
17.  Algorithms in Python:
17.1.  Sorting.
17.2.  Searching.
17.3.  Combining lists.
17.4.  Making it run faster.
That's all I can think of.  If there are things to add or remove, please let
us know (each chapter is about two weeks worth of audio sessions).
Cheers,
Joseph



Other related posts: