- Computer Systems Lab Home Page (in progress)
- Questions
about our lab
- Introduction to Artificial Intelligence
- Pre-requisite: AP Computer Science
- Programming: Lisp/Scheme, C/C++, Java
- Search techniques
- Depth first (stack)
- Breadth first (queue)
- Best first, Hill climbing (heuristic, go towards est. quickest path to goal)
- A* (heuristic, follow quickest est. path to goal and path of minimum
cost/shortest actual so far)
- Logic, first-order predicate calculus
- Machine learning - genetic algorithms, neural nets
- Sample AI programs
- Eliza - online psychiatrist responds to your questions/comments
- Find the shortest distance between two cities on a map
- Martian Rover: use AI techniques to search a grid and avoid
obstacles/dangers
- Use genetic algorithm machine learning to solve a problem
- Computer Architecture
- Pre-requisite: AP Computer Science
- Programming: C/C++, assembly language such as SPIM
- History and trends of computer architectures
- Computer organization - processors, memory, input/output
- Digital Logic level
- gates, boolean algebra
- digital logic circuits
- memory
- microprocessor chips and buses
- Microprogramming level - the MIC 1, an example microarchitecture
- Machine level
- instruction formats
- addressing
- instruction types
- flow of control
- Operating system level - virtual memory, paging, cache, process
creation, synchronization
- Assembly language level
- Advanced computer architectures - RISC, parallel architectures
- Introduction to Supercomputing
- Pre-requisite: AP Computer Science
- Programming: C/C++, MPI, pthreads, OpenGL, POV-Ray
- High performance microprocessors - CISC, RISC
- Memory - registers, cache, virtual memory, improving memory performance
- floating point representation
- Optimizing compilization - timing and profiling, eliminating program "clutter"
- Loop optimizations - loop unrolling, nested loops and loop interchange
- Parallelism - MPI, pthreads, fork(), synchronization
- Computer graphics:
- OpenGL
- POV-Ray ray tracing
- Others - Breve 3D environment for simulation of artificial life/decentralized systems
Renderman
- Using a supercomputer - Cray SV1 - and a cluster (16 nodes)
- Computer modeling and simulation - NetLogo, MASON, Ascape
modeling large scale distributed processes
- Comparative Languages
- Pre-requisite: AP Computer Science
- Programming: C/C++, Lisp/Scheme, Prolog, PHP, Perl
- Comparison of declarative, imperative language styles
- Logic programming - Prolog
- Functional programming - ML, Lisp, Scheme
- Scripting languages - PHP, Perl
- Summary of Requirements for Computer Systems Research:
- Research
Paper: 15-20 pages, 4000(or more) words
also see
what you need to complete and
detailed
summary of a research paper
Typed in LaTeX
, with an online version in PDF ("dvipdf file.dvi")
and optionally also HTML ("latex2html file.tex") versions
- 10 references - Use your Technical Reading for references and content
- Appendices with CODE, Sample Tests, Runs, Screenshots
- Technical
Paper Reading Assignments - 2 papers each quarter
- Use the Scientific
Method in your research
- Code, Testing, Analysis:
20 (or more) pages,
--Working version! DEMONSTRATE YOUR PROJECT WORKS
- Project
Proposal (1st quarter)
- Project
Description
- Project
Poster
- Oral
reports, presentations of project progress
- Daily
Logs, Weekly Goals, Iteration Reports, Gantt Charts
- Tutorial(s)
for future students
- Other interesting areas