EECS 2041 4.00
Net-Centric Computing

Course Description

Net-centric computing encompasses numerous technologies but is based on a few underlying principles. This course covers these principles in general and examines a representative subset of the prevailing technologies. Topics include network programming; web applications; database connectivity; content representation and presentation; and client-side programming. 

Detailed topics list: 

Network programming
- Overview of the Protocol Stack
- Creating sockets
- The HTTP (hypertext transfer protocol) standard
- Multi-tier architectures

Web programming
- The CGI (common gateway interface) protocol 
- Server-side scripting, e.g. Perl, PHP, Ruby, Python
- XHTML and Forms
- Session management
- Database connectivity

Content representation and presentation 
- XML (extensible markup language) and XML Schemas
- XML Parsing and DOM (document object model)
- XSL (extensible stylesheet language) and XPATH
- Content Presentation via XHTML and CSS (cascading stylesheets)

Client-side programming
- The scripting engine and JavaScript
- Host objects, DOM, and events
- Building rich internet apps via AJAX (asynchronous JavaScript and XML)  
- JavaScript libraries such as JQuery and Dojo 

The Future of the Web
- Service-Oriented Computing 
- Web Modelling 

Security related issues, such as packet sniffing, denial of service, SQL injection, and phishing, will be covered throughout.  

Expected Learning Outcomes:
At the end of this course the student will be expected to demonstrate abilities to:
• Build applications out of pieces running on different platforms and communicating through sessions
• Recognize the separate concerns of content generation, transfer, and presentation, and identify the technologies appropriate for each.
• Embed rich interactive applications in a universal client.

Prerequisites: General prerequisites

Course Credit Exclusions: ITEC3020 3.00