Classes

Fall 2000

ICS 200 - Seminar in Research in ICS
Graduate orientation program and colloquium series. Includes talks by ICS faculty in all areas about their current research.

ICS 259 - Seminar in Design Science
Current research and research trends in design science. Forum for presentation and criticism by students of research work in progress.

ICS 260 - Fundamentals of the Design and Analysis of Algorithms
Covers fundamental concepts in the design and analysis of algorithms and is geared toward non-specialists in theoretical computer science. Topics include: deterministic and randomized graph algorithms, fundamental algorithmic techniques like divide-and-conquer strategies and dynamic programming, and NP-completeness.

ICS 261 - Data Structures
An in-depth treatment of data structures and their associated management algorithms including resource complexity analysis.

Auditing:
ICS 142 - Compilers and Interpreters
Introduction to the theory of programming language processors covering lexical analysis, syntax analysis, semantic analysis, intermediate representations, code generation, optimization, interpretation, and run-time support.

Winter 2001

Human 21B - English Listening and Speaking
Humanities 21 focuses on the pronunciation, intonation, stress and vocabulary of English. Special emphasis is also given to listening skills and oral presentations. The course is designed to help non-native speakers communicate more effectively in an American university setting.

ICS 211 - Advanced Compiler Construction
Advanced study of programming language implementation techniques: optimizations such as common sub-expression elimination, register allocation, and instruction scheduling. Implementation of language features such as type-directed dispatch, garbage collection, dynamic linking, and just-in-time code generation.

Class project: Developing a compiler for a simplified version of Pascal language with SSA-based optimizations.

ICS 213 - Software for Embedded Systems
Embedded computing elements, device interfaces, time-critical IO handling. Embedded software design under size, performance, and reliability constraints. Software timing and functional validation. Programming methods and compilation for embeddable software. Embedded runtime systems. Case studies of real-time software systems.

Class project: Palm-Integrated Sensors Using Altera FPGA Board

ICS 280 - Special Topics in Information and Computer Science
Low Power Embedded Systems.

ICS 398A - Teaching Assistant Training Seminar
Theories, methods, and resources for teaching computer science at the university level, particularly by teaching assistants. Classroom presentations, working with individuals, grading, motivating students. Participants will give and critique presentations and may be videotaped while teaching.

Spring 2001

ICS 251 - Digital System Verification and Testing
Techniques for simulation, verification, and testing of hardware and mixed-mode systems. Fault models, test generation, algorithms, and functional testing. Design for testability. Formal verification techniques.

ICS 252 - Introduction to CAD
Design synthesis and optimization for digital circuits. Covers algorithms for architectural-level synthesis and optimization (scheduling, resource sharing and binding), logic-level optimization (two-level combinatorial logic and sequential logic optimization), physical-level design (partitioning, placement, routing).

ICS 257 - System Tools
Specification and design of embedded systems. Discussion of design methodologies and abstraction levels in system design using as an example the SpecC system-level design language.

ICS 259 - Seminar in Design Science
Current research and research trends in design science. Forum for presentation and criticism by students of research work in progress.

Auditing:
MGMT 5 - Management of Contemporary Organizations
Introduction to management: history of management, business ethics, corporate social responsibility, organizational culture, assessment of external environment, planning, organizational structure, decision making, communication & negotiation, effects and management of stress, career planning.

Summer 2001

ICS 241A - Computer Systems Architecture
Study of architectural issues and their relation to technology and software: design of processor, interconnections, and memory hierarchies

Fall 2001

ICS 243A - Computer Networks
Introductory course on computer networks and their protocols. Basic principles of computer networks, the design philosophy of the Internet, and the details of network and Internet protocols.

ICS 268 - Cryptography and Computer Security
Overview of modern cryptography; security threats and countermeasures; secret and public key cryptography; digital signatures, hash functions, message authentication codes; block cipers and stream cipers; computer and network security; data privacy and data integrity; authentication and identification; freshness and timeliness

Class project: Using SMV Formal Verification Tool For Security Protocol Analysis

ICS 259 - Seminar in Design Science
Current research and research trends in design science. Forum for presentation and criticism by students of research work in progress.

Back to the home page