[pythonvis] course study - Re: Proposal: Syllabus for the meetings

  • From: "Charles Rivard" <wee1sman@xxxxxxxxxx>
  • To: <pythonvis@xxxxxxxxxxxxx>
  • Date: Sat, 10 May 2014 16:42:26 -0500

Shouldn't we all study from the same books, preferably those specified for this undertaking, so as to all stay on the same page, so to speak? I can only imagine the total confusion if we're all using different sources of instructional material.


---
Be positive! When it comes to being defeated, if you think you're finished, you! really! are! finished! ----- Original Message ----- From: "Al B" <ablazik@xxxxxxxxxxx>
To: <pythonvis@xxxxxxxxxxxxx>
Sent: Saturday, May 10, 2014 10:51 AM
Subject: [pythonvis] Proposal: Syllabus for the meetings


Hail Pythonvis list members!

I don't think that a syllabus has any place in an open discussion meeting. An agenda would be better to control the "fast pace of the course" which could be better described as a "free for all"!

Agenda proposal: first 30 minutes(variable) for Python beginners and second 30 minutes(variable) for experienced Python programmers. I would also ask that responders to novice questions, hopefully experienced Python users, would be very specific and concise in their answers and not volunteer any unnecessary information. Likewise, problems submitted by experienced Python programmers will be more complex than syntax or semantics problems and will probably need follow-up emails to show actual code that produces the problem.

Course instruction is totally the responsibility of the individual. It may be any of the several tutorials that have been suggested on the list, a formal college level computer science course or any other form of instruction. However, I would like to see one, preferably several , members compose and issue a "basic instruction ..." email weekly that will be archived and available for future list members. A good example of this would be the email from Jet (Jeffrey Thompson) titled "How I program in Pythonn" submitted this week after our 3rd chat room meeting. I encourage all moderators to offer information on joining the Pythonvis mailing list.

Comments, criticisms, additions and refinements are sought for this proposal.
Al B





----- Original Message ----- From: "Joseph Lee" <joseph.lee22590@xxxxxxxxx>
To: <pythonvis@xxxxxxxxxxxxx>
Sent: Thursday, May 08, 2014 8:48 PM
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: