Credits: 3 (0-0-6)

Description

The contents may differ each year depending on the instructor. The course should involve 2-3 large programming projects done in groups of 2-4. A set of three project oriented assignments which will be announced at the start of each semester with definite submission deadlines. The set of assignments will be designed to develop skills and familarity with a majority of the following: make, configuration management tools, installation of software, archiving and creation of libraries, version control systems, documentation and literate programming systems, GUI creation, distributed state maintenance over a network, programming in different environments like desktop and handhelds, program parsing and compilation including usage of standard libraries like pthreads, numerical packages, XML and semi- structured data, simulation environments, testing and validation tools.