CS 398
CS 398 - Data Driven Discovery
Spring 2019
Title | Rubric | Section | CRN | Type | Hours | Times | Days | Location | Instructor |
---|---|---|---|---|---|---|---|---|---|
Deep Learning | CS398 | DL | 69481 | LEC | 3 | 0800 - 0920 | T R | 1404 Siebel Center for Comp Sci | Justin A Sirignano |
Machine Learning | CS398 | EJP | 65174 | LCD | 3 | 1700 - 2000 | F | ARR Danville IL | Rebecca Ginsburg Matt Zhang |
Introduction to Data Science | CS398 | IDU | 68294 | LCD | 3 | 1400 - 1550 | M | 126 Grad Sch of Lib & Info Science | Victoria Stodden |
Deep Learning | IE398 | DL | 69146 | LEC | 3 | 0800 - 0920 | T R | 1404 Siebel Center for Comp Sci | Justin A Sirignano |
Introduction to Data Science | IS457 | AG | 67407 | LCD | 4 | 1400 - 1550 | M | 126 Grad Sch of Lib & Info Science | |
Introduction to Data Science | IS457 | AU | 67659 | LCD | 4 | 1400 - 1550 | M | 126 Grad Sch of Lib & Info Science | |
Introduction to Data Science | STAT430 | AG | 69375 | LCD | 4 | 1400 - 1550 | M | 126 Grad Sch of Lib & Info Science | |
Introduction to Data Science | STAT430 | AU | 69376 | LCD | 3 | 1400 - 1550 | M | 126 Grad Sch of Lib & Info Science |
See full schedule from Course Explorer
Official Description
Course Director
Text(s)
Computer Organization and Design, Revised Fourth Edition, Fourth Edition: The Hardware/Software Interface by Patterson & Hennessy
Learning Goals
be able to design modest combinational circuits (20 - 30 gates) from an natural language (e.g., English) specification (b) (c)
be able to design finite state machines of moderate complexity (~10+ states) from a natural language specification. Furthermore, they should be able to implement these FSMs using a collection of gates and flip flops. (b) (c)
be able to analyze the design of a simple processor, specify the control signals for supported instructions, and modify it to implement new instructions. (b) (c)
be able to translate small (20 line) C programs that include recursion and pointers into MIPS assembly, observing calling conventions and stack management. (c) (k)
be able to write code that uses memory-mapped I/O and interrupts given interface documentation. (c) (k)
be able to demonstrate an understanding of the performance pitfalls of pipelined processors with cache memory systems by predicting the performance of code fragments on simple pipelines and cache memory systems. (b)
be able to optimize the cache performance of a simple loop nest through cache-aware programming techniques (b) (c)
be able to recognize synchronization, coherence, and consistency pitfalls that could impact the execution's result or performance of simple programs executing on a shared memory parallel processor. (b)
be able to work in small groups on open ended problems (b) (d)
Topic List
Combinational Logic Design
Sequential Logic Design
Computer Organization
Assembly Language
I/O and interrupts
Pipelining
Caching and Virtual Memory
Cache-Aware Programming
SIMD/Vectorization
Hardware support for Parallel Programming (brief intro to coherence, consistency and atomic operations)
Assessment and Revisions
Revisions in last 6 years | Approximately when revision was done | Reason for revision | Data or documentation available? |
TBD |
Required, Elective, or Selected Elective
Required.