Personal tools
You are here: Home Events Joint European Technology Enhanced Learning Summer School 2010 Workshops Principles of Programming for the Web 2.0 era
Log in


Forgot your password?

Summer School 2011 @ Flickr

 

Principles of Programming for the Web 2.0 era

by Darko Dugosija last modified May 20, 2010 04:42 PM

Organizer Name


Venkatesh Choppella

Short Description


Computer Science courses, especially the introductory ones, need to jump into the Web 2.0 era. We already notice that over a decade now, most programmers jump into learning programming languages, using what may be called as "Bible books" (e.g., Java Bible). What is also of interest is that these learners are independent of university curriculum. There are a number of online resources that cater to these learners. However, most university curriculum and teaching is based on decade old teaching methods using "computers in labs". We feel that it is time to turn teaching CS upside down by first introducing abstract concepts and use browsers to introduce them, letting students use these to put together programs that resemble their every day applications such as gmail, facebook or a spreadsheet like that of Google docs, and as the student gains confidence in CS fundamentals, to introduce later in the later courses low level computing machines, algorithms, etc.

Towards this, we have over the last 2-3 years developed a course called Principles of Programming for the Web 2.0 era. We are also designing a set of 4 courses that together can become a complete CS diploma course. We have worked with students with a (non-CS) degree and not really freshers. Methodology includes these features:

Complete course is offered using a browser - Firefox and add-ons. A subset of Javascript and libraries are used to teach programming principles. Principles include types and data abstraction, events and interaction modeling, flow analysis and model-view-controller. The material composes concepts introduced earlier to develop a later one so a student effectively develops a browser based spread sheet towards the end of the course. Students are encouraged to learn utilities like html/css by interacting with each other; and are asked to use wikis, forums, chat and tools like svn. They are also asked to write test cases for their programs thereby addressing aspects of software engineering, and communication - using Web tools, and user-interface/usability aspects.





Document Actions