Preamble:: Approval: 9 Senate Meeting
Preamble:: Approval: 9 Senate Meeting
Preamble:
The new curriculum calls for a sequence of 3 Practicum courses for CSE, viz. CS207 Applied
Databases Practicum, CS307 Systems Practicum and CS308 Large Applications Practicum. The
erstwhile CS211 Networks and Database Practicum included both networks and databases tools
and programming. Now, the networks material is shifted to CS307 and CS204 focusses only on
database applications.
Tentative sequencing:
Semester 3 – CS207 Applied DB Practicum, followed by CS204 Introduction to
Databases
Semester 4 – CS307 Systems Practicum, followed by CS3xx Introduction to Distributed
Communicating Processes electives on networks and OS
Semester 5 – CS308 Large Applications Practicum, in conjunction with electives on
software engineering, compiler construction, etc.
Course Outline:
The students will learn how to build useful applications involving databases with GUI for access.
Learning will include basics of SQL (table schema, queries, indexing), form/report GUI design,
UML diagrams, web-based applications. Skills will include open-source tools such as GUI
builders, HTML, PHP, MySQL, Linux, Perl or Python, measuring the efficiency of applications.
Exercises to include handling very large data (>100 MB table), making applications tolerant to
network problems, use of colours and online help in GUI design.
Course Modules:
A few lab lectures (8 hours spread over the semester):
Architectures of DB applications: Client-server; UI-Business logic-DBMS; Browser UI-
Web server-Business logic-DBMS.
Introduction to SQL
Introduction to E-R modelling and MVC
Transactions – what, how and when?
Introduction to a scripting language, eg PHP, Python
Introduction to HTML and especially HTML5
Introduction to Javascript and Ajax/Comet
Introduction to NoSQL
Lab assignments (listed below) require 3 hours in the lab, preceded by at least 3 hours at home.
The weekly assignments are stage-wise demonstrations of the evolution of a mini-project –
stages are as follows:
Week 1-2 Choice of mini-project – a useful web-based tool.
Week 3-4 Designing the data model and table schemas, testing the tables manually.
Week 5-6 Design the UI flow – the user view.
Week 7 Creating the GUI forms and reports.
Week 8-9 Putting together the Web UI flow with the appropriate data access.
Week 10 Basic tool ready with full functionality
Week 11 Improving UI using javascript and HTML5 features.
Week 12 Using AJAX for better user-interaction.
Week 13 Substituting portions of the data model using NoSQL databases
Textbooks:
This course will use web-resources to cover course topics.