For the past year, I have been teaching a course at Clark College in Vancouver, Washington called “Intro to Programming and Problem Solving (CTEC 121)”. During this time 60 students have successfully completed the course. Here is the class description from the course catalog:
Fundamental concepts related to designing and writing computer programs and procedures. Topics covered include: problem-solving techniques, program design, coding, debugging, testing and documentation. The course stresses concepts common to all programming. Prerequisite: Eligibility for ENGL& 101 and a grade of “C” or better in MATH 095. CTEC 120 recommended.
Typically, 95% of the students who take this class have had no prior experience with programming. In fact, it may even be higher than this.
RECAP: Students in CTEC 121 have never ever written a single line of code.
One other important to thing to mention is that 80% of the students who enroll in this class are not enrolled in a development focussed degree program. Most are from networking, business and other disciplines. Fascinating eh? Read on…
For the Fall quarter I decided to not give a final exam but rather a final practical project. Students were required to build a full-fledged application using the Python programing language. The project requirements included:
- Demonstrate use of all elements of the structure theorem (sequence, selection and repitition)
- Use on or more Python libraries
- Demonstrate the ability to read/write files
- and many other requirements…
On Monday the class presented their projects to the class and frankly, the students and I were totally blown away by their projects. Remember, these students have only studied programming in the CTEC 121 class for 9 weeks prior to creating their final projects. I wish you all could have seen the students faces when they saw demonstrations presented by the others.
To give you an idea of the types of projects submitted here is a list of some of the apps students created:
- An app that helps racing pit crews with calculating critical data needed for fueling, tire replacements and more
- An app that uses the Wikipedia API to read and display random Wikipedia entries using JSON and REST services.
- A math quiz app
- A complete graphical version of the game Battleship
- Several role playing games both text and based and graphics based
- The game Othello done with the graphics.py Python library
- A flash card creation and presentation app
- Several awesome versions of Tic-Tac-Toe
- An image processing app just like Instagram (complete with an MSI installer)
- and many others
Congratulations to all of the CTEC 121 students on creating such awesome final projects. You made this instructor very proud.