Next to my current research and various part time work (I am consulting two companies at the moment in web system design and data mining applications), I am about to start teaching the Client Side programming course
COP451 for the MSc course.
This will be a fat module course, and a much more intensive version of the COA122 JavaScript/DHTML undergraduate course that I taught last semester. Since there are only 2 weeks, this course will be very intensive in terms of a lot of new material being covered over a short term span.I favour an alternative teaching style to engage my audience by justifying the need of particular methods and technology! This is facilitated by communicating abstract and clear concepts in a down to earth, easy to understand manner!
Procedural Programming Concepts- Basic Operands and Operators
- Loops / Repetion
- Branching
- Methods (Divide and Conquer)
- Fundamental Data Structures (arrays, dictionaries...)
Client / Web UI Programming- Basic Webdesign (HTML/CSS/JS-includes)
- JavaScript in a web architecture context (conceptual keypoints)
- DHTML: addressing page elements via DOM with JS
- Building DHTML client-side applications and board games
The goal of the course is to educate the students on fundamentals for programming and bring the world of the web alive through applications of JavaScript at the same time. I also focus on issues regarding proper coding and testing practices, code team-work, time complexity and a number of other things.
Last semester has shown on a group of ~150 students that teaching fundamental programming with JavaScript is a very effective method for three reasons.
- Simple language (basic subset of JS)!
- Ready interpreter in the form of a standard Browser (IE, Mozilla, Chrome, Safari...)!
- Visual results (DHTML pages) and can be used by students straight away for all kinds of applications!