New INFO I500 Sequence: Fundamentals of Informatics
Starting 2004-2005, this course will be reorganized into 3 courses:
- I500A
- General intro to computing history, organization and
programming for all Informatics grads without strong computing
background
- I500S
- Intro to computing concepts and tools for
grads in Science Informatics tracks (bioinformatics, chemical informatics, ...)
- I500H
- Intro to computing concepts and tools for Informatics
grads in Human-Computer Interaction Design
All entering Informatics grads will take a placement test, which will help the faculty evaluate each
student's background and decide which I500 sequence courses the student should take, if any (see flow-chart).
I500A
The main concepts and tools covered tentatively include:
- Intro to IT
- Computing history
- Intro to UNIX (Linux, Darwin/MacOSX, Solaris, BSD...)
- UNIX shells, editors, process management, file system and utilities
- Perl programming
- System architecture
- Computer hardware, software, and compilation (OAMulator, OAM, OAMPL)
- Basic HTML, Internet and the Web
Books:
- Irv Englander: The Architecture of
Computer Hardware and Systems Software, 3rd Edition,
Wiley (2003), ISBN: 0-471-07325-3
- Larry Wall, Tom Christiansen, Jon Orwant: Programming Perl,
3rd Edition,
O'Reilly and Associates (2000), ISBN: 0-596-00027-8
- Also recommended:
- Randal Schwartz and Tom Phoenix: Learning Perl,
3rd Edition,
O'Reilly and Associates (2001), ISBN: 0-596-00132-0 (a gentler intro to Perl)
- Jerry D. Peek, Grace Todino, John Strang: Learning the UNIX
Operating System, 5th Edition,
O'Reilly and Associates (2001), ISBN 0-596-00261-0
I500S
The main concepts and tools covered tentatively include:
- Data structures, representation, and storage
- Intro to algorithms and computational complexity
- Database modeling, organization
- Intro to SQL
- Web/DB access
- Intro to computer networks
- Internet and the Web
- CGI programming
- Advanced Perl programming and modules (DBI, CGI, LWP,...)
Books (tentatively recommended):
I500H
The main concepts and tools covered tentatively include:
- Principles of HCI and the design cycle
- Input checking and interface robustness
- Rapid prototyping
- Flash programming
- Advanced HTML, XHTML, CSS
- Intro to visualization
- ...?
Books: TBD