Accessibility Contact Go to main menu Go to main content

CS intro courses for Web 2.0 era

Speaker(s) : T.B. Dinesh
Language : English Level : Newbie Nature : Conference
Date : Wednesday 7 July 2010 Schedule : 14h00 Duration : 40 minutes
Place: LaBRI - Salle 076
Transversal topics: In english


TGZ - 976.8 kb

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.


T B Dinesh, has a Ph D in Computer Science from University of Iowa and has a worked at CWI, The Netherlands and in the USA doing research in areas of programming languages, programming environment generation, partial evaluation and visual programming environments. Since 2000, he has been working with Servelots, a company, and Janastu, an NGO, in Bangalore India, developing and researching open source platforms for community information management needs. He has also been working with Prof. Venkatesh in developing CS courses that can potentially make the courses accessible to independent learning spaces, possibly outside an university stipulated admission restricted context.