Results 1 to 18 of 18

Thread: Programming Academy

Threaded View

Previous Post Previous Post   Next Post Next Post
  1. #1
    kshcshbash's Avatar My Good Sir CNSW
    Civitate

    Join Date
    Nov 2005
    Location
    Ontario, Canada
    Posts
    736

    Default Programming Academy

    Hello.
    I have the privilege of being part of a group of TWC Members who are proficient programmers, and are willing to dedicate some of their time to sharing some of their skills as part of a project called the TWC Programming Academy. The idea is still in the works, but I thought I would post for critique.

    My fundamental idea here is to have the advanced programmers (Tutors) teach amateurs and newcomers (Students) the principles of programming. Class sizes will be limited to three or four students per Tutor, unless the Tutor is willing and capable. This enables each person to get highly personalized help and teaching, without Tutors having to go too far out of their way.

    I have drawn up tentative outlines, largely from reference materials, for the two languages I can teach, but review would be great. Feel free to post new language course outlines, and I will add them to this list:
    C++
    • Architecting a program The before-code stuff. Programming, not coding!
    • Variables and Datatypes declaration, assignment, identifiers, core datatypes, scope
    • Operators assignment, arithmetic, equality, compounds, conditional, bitwise*, precedence*
    • Flow Control if/else, switch, iteration, jump/break/continue
    • Functions definition, prototyping, scope, arguments, inline, overload*, recursion
    • More Datatypes arrays, character sequences, typedefs, union*, enum, struct*
    • Pointers and Memory pointers, reference, dereference, passing by reference or value, declaration, initialization, arithmetic*, void, null, function pointers*
    • Misc. preprocessor, namespaces, templates*

    Java
    • Object Orientation basics objects, classes, behaviors, attributes, inheritance, class hierarchy, interfaces, packages, subclasses
    • Basic Java statements, expressions, variables, datatypes, comments, literals, arithmetic, comparison, logical operation
    • Basic Implemented OOP* class definition, instantiation, calling methods, accessing and modifying member variables, typecasting, class libraries, main(), command line compiling and running
    • Arrays declaring, creating, accessing, modifying, multidimensional
    • Blocks and Flow Control block, if/else, switch/case, for, while, do/while, recursion, break
    • Methods overloading, constructors, overriding, finalizers
    • Modifiers and Access public private protected package modifiers, encapsulating code, instance variable accessors, abstract classes
    • Exceptions handle/recover, creating and catching
    • Streams java.io, input and output streams, InputStream, files, filters, byte arrays, sequences, pipes

    * Likely need to be discussed

    Both of those outlines should provide enough of a solid base for a good entry into more advanced programming, and they provide (I think) a good general overview of the respective languages. I'd rather teach Java over C++, so if someone wants to claim C++, that'd be great.

    Anyways, what I'm thinking is that I will retain a master list of who's in what class and who is teaching what. Students will be responsible for contacting their Tutor with details of Time Zones and such, and Tutors can teach the course as they wish. A mailing list could be a fine idea, if the Tutor sets it up. The Tutor will basically cover all of the topics, and give you lots of stuff to read online to reinforce whatever it is that he is trying to teach you.

    MSN will likely become your best friend. Having a small class of 3 or 4 people lets the Tutor give you highly personalized support, and to keep a whole class rolling.

    For example, the Tutor might conference with all of his Students on MSN on Friday at 20:00 EST. Let's say he covers File IO. He then gives his students a few links to check out, and an "assigment" to write a simple Java program that will output every line of a file that ends with a "!". He is available on MSN when he is, and the Students can always ask each other. The following Tuesday, he gets back together with everyone and they discuss the problem, and he can judge who's 'getting it' and who isn't. He can move onto a new topic, and in private continue teaching File IO to the guy that didn't get it. Win win.

    Of course, it depends on the goodwill of the programmers out there...

    So yeah, thoughts?

    n.b This is not a sign up thread. Feel free to indicate interest, but this is really just to refine the concept.
    Last edited by kshcshbash; April 17, 2007 at 11:04 PM. Reason: Not a sign up.
    Simetrical's homeboy, yo.
    You take the blue pill and the story ends. You wake in your bed and you believe whatever you want to believe. You take the red pill and you stay in Wonderland and I show you how deep the rabbit-hole goes. Remember -- all I am offering is the truth, nothing more.

    Sign up to learn Java!

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •