Advanced Topics in Computer Science
The Advanced Topics course exposes students to several of the subfields of computer science that a student would encounter as a college major in the field. Assignments are more open-ended and require a greater degree of initiative from the students. The topics covered vary somewhat from year to year, in response to student and teacher interest. Examples of typical topics include digital-logic circuits (including basic logic gates, designing combinatorial and sequential circuits, and basic computer architecture), three-dimensional computer graphics (including mathematical fundamentals, transformations, perspective, and rendering techniques), networking (TCP/IP concepts and socket programming), and artificial intelligence (philosophy, logic, search, heuristics, and neural networks). Student projects include designing and building a simple programmable computer on breadboards and implementing a 3D renderer without using a 3D library.
Units
| Unit | Essential Questions | Content | Skills and Processes | Assessment |
|---|---|---|---|---|
| Digital Logic |
How are computers built? |
* Digital vs. analog signals |
* how to design combinatorial digital logic circuits |
* Design a 4-bit, 3-register computer using a digital logic simulator |
| 3D Computer Graphics |
How are 3D models represented in a computer? |
* vertex list, edge list, and polygon mesh model representation |
* write a 3D wireframe renderer and animator |
|
| Network Programming |
* How do computer programs communicate across a network? |
* TCP/IP addresses and routing |
* How to write a network client |
* Write a text and graphics chat program or a network game |
| Artificial Intelligence |
* What is intelligence? |
* heuristics |