CSC 290: Topics in Computer Science

This course covers special topics of current interest and usually differs each time it is offered.

Prerequisite: varies with topic. (Fall and/or Spring)

Spring 2009
Collaborative Software Engineering (290A): Running on low-cost, powerful computers, immense storage, and ubiquitous networks, a new generation of software has radically changed how information is distributed and accessed and is opening new possibilities in how (fast) knowledge is created and used. This revolution has been compared to the advent of printing, and the pertinent expertise and skill are considered as basic and essential as reading and writing.

This experimental course teaches principles and practices of collaborative software development and its use in converting data into knowledge and knowledge into tools. The topics include fundamentals of programming (more for organizing information than for managing computers), lessons from past information systems, and current practice and tools for teamwork and (virtual) collaboration. The main assignments are a series of group projects including the final project of developing a possibly on-line recommendation system. The projects will be evaluated based on the design, implementation, and deployment, including an end-of-semester competition based on a user survey. Prerequisites: CSC 173; CSC 254 recommended.

Introduction to Computer Security (290B) - Principles, mechanisms, and implementations of security and survivability for computers, communications networks, and distributed systems. Topics to be covered include security terminology, policies, protocols, cryptography, design principles, identity, secure information flow, information assurance, malicious logic and vulnerability analysis. Prerequisites: CSC257 Computer Networks (Spring, 4.0 hours)

Intro to Database Systems (290C): This course presents the fundamental concepts of database design and use. It provides a study of data models, data description languages, and query facilities including relational algebra and SQL, data normalization, transactions and their properties, physical data organization and indexing, security issues and object databases. It also looks at the new trends in databases. The knowledge of the above topics will be applied in the design and implementation of a database application using a target database management system as part of a semester-long group project.


Last changed 11/6/2008 by Marty Guenther (marty@cs.rochester.edu)