First level courses
- Introduction to Programming in C
- Prereqs: Basic Algebra, Fundamental understanding of how to use a Computer, Text Editor usage
- Materials: Compiler (GCC, Visual Studio, or any other)
- Goal: To teach the basics of programming, C syntax, and basic guidelines for writing clear code.
- Topics: C syntax, variables, boolean logic, arrays, loops, pointers, etc
- Category: Programming Language
- Introduction to Programming in C++
- Prereqs: None
- Goal: To teach the basics of programming, C++ syntax, and basic guidelines for writing clear code.
- Topics: C++ syntax, variables, boolean logic, arrays, loops, pointers, etc
- Category: Programming Language
- Introduction to Programming in Python
- Prereqs: None
- Goal: To teach the basics of programming, Python syntax, and basic guidelines for writing clear code.
- Topics: Python syntax, variables, boolean logic, arrays/lists, loops, etc
- Category: Programming Language
- Introduction to Programming in Java
- Prereqs: None
- Goal: To teach the basics of programming, Java syntax, and basic guidelines for writing clear code.
- Topics: Java syntax, variables, boolean logic, arrays, loops, references, etc
- Category: Programming Language
- HTML and Website Creation
- Prereqs: None
- Goal: To teach the basics of HTML and CSS, methods to build and maintain websites, and the common tools used by websites to create Blogs, Forums, etc.
- Topics: HTML, CSS, FTP, Blogs, Message Boards, Wikis, etc
- Category: Web-oriented
- Introduction to Computer Science with Scheme
- Prereqs: Basic Algebra, Calculus Recommended, Introduction to Programming (any language)
- Goal: To teach the basics of computer science with the LISP language.
- Topics: Procedural and data abstraction, programming paradigms and environments, basic meta-linguistic abstraction.
- Category: Web-oriented
- Note: other languages welcome. It's highly suggested that you leverage as much of the lectures from other languages as possible.
- Introduction to Discrete Math
- Prereqs: None
- Goal: To teach some of the basic mathematic concepts behind programming and computer science
- Topics: boolean logic, predicate calculus, sets, functions, induction, trees, graph theory
- Category: Computer Science-related Math
- Note: exact cutoff between Intro to DM and DM 2 needs to be determined
- Introduction to Computer Forensics
- Prereqs: None
- Goal: To introduce the student to the basic concepts surrounding Computer Forensics
- Topics: Currently undecided
- Category: Computer Science, Criminal Justice
Second Level Courses
- Data Structures and Algorithms
- Prereqs: Intro to Programming (any language), Intro to Discrete Math
- Goal: To teach important algorithms and data structures, their use, and the tradeoffs in choosing them
- Topics: Big-O notation, arrays, lists, trees, heaps, hash tables, sorting, search
- Category: Algorithms
- Discrete Math II
- prereqs: Intro to Discrete Math
- Goal: To teach more advanced topics in discrete math
- Topics: combinatorics, infinite sets, Big-O theory, program verification
- Category: Computer Science-related Math
- Computer design and operation
- Prereqs: Intro to Discrete Math
- Goal: To teach how computers and microchips work at a hardware level
- Topics: boolean algebra, K-maps, AND, OR, NOT gates, flip flops, registers, muxes, demuxes, ALUs, caches, ISAs, binary math
- Web Programming
- Prereqs: None
- Goal: To teach Javascript, Perl, PHP, and other web-related programming languages and techniques.
- Topics: Javascript, Perl, PHP, Subversion, Web Crawlers, etc
- Categories: Web-oriented, Programming Language
Third Level Courses
- Automata Theory and Computability
- prereqs: Discrete Math II
- Goal: To teach principles of modern computational theory
- Topics: deterministic finite automata, non-deterministic finite automata, context-free grammars, push-down automata, Turing-machines, computability, space complexity
- Computer Architecture and Assembly
- Prereqs: Computer Design and Operation
- Goal: To teach how to programs run on the hardware using assembly
- Topics: RISC assembly, tradeoffs in processor design, optimization, caching, virtual-memory, I/O
- Internet Reliability
- Prereqs: None
- Goal: Give to the students an overview of the questions raised by the subject of Internet reliability
- Topics: free-scale networks, end-to-end design, DNS reliability, TCP congestion avoidance mechanisms
- Networks
- prereqs: Data structures, Discrete Math II
- Goal: To teach a basic understanding of how networks work and developing network-related applications
- Topics: network encapsulation, OSI model, TCP, UDP, IP, Ethernet, network configurations, bandwidth, round trip times, efficiency, routing
- Category: Networking
- Databases
- Prereqs: Data stuctures, Discrete Math II
- Goal: To teach how databases work
- Topics: SQL Queries, Database structure and normalization, Indexes, types of databases widly used, when to use a database and when not to, administration of a database, how databases work on the inside (generic).
- Category: Database
- Graphics
- Prereqs: Data stuctures, Discrete Math 2, Linear Algebra, Computer Architecture
- Goal: To comprehend about computer graphics
- Topics: graphics display system, primitive geometery rasterization, graphical object management, optimization
- Compilers
- Prereqs: Data stuctures, Discrete Math 2
- Goal: To teach how compilers and linkers work.
- Topics: lexers, parsers, optimization
- Programming Languages
- Prereqs: Data stuctures, Discrete Math 2
- Goal:
- Topics:
Fourth Level Courses
- Advanced Computer Architecture
- Prereqs: Computer Architecture and Assembly
- Goal: To teach computer architecture, the design process, and how it relates to both performance and price
- Topics: Instruction set design (both CISC and RISC), instruction level parallelism, implementation, pipelining, interrupts, memory system design
- Operating Systems
- Prereqs: Data structures, Discrete Math II
- Goal: To teach a basic understanding of OS internals
- Topics: processes, scheduling, concurrency, resource allocation, deadlock, virtual memory, disk scheduling, security, transactions
- Neural Networks
- Prereqs: Data stuctures, Discrete Math 2
- Goal: To teach the basics of neural networks and their applications
- Topics: biological models, backpropagation, self-organizing maps, Boltzmann machines, memory modeling
- Category: Networking
- Artificial Intelligence
- Prereqs: Data stuctures, Discrete Math 2
- Goal:
- Topics:
- Security and Cryptography
- Prereqs: Data stuctures, Discrete Math 2
- Goal:
- Topics:
- Network Programming
- Prereqs: Networking, Data Structures
- Goal: To teach how to do network programming
- Topics: BSD sockets, Winsock, Java sockets, I/O efficiency, timing and other networking issues
- Category: Networking
Fifth Level Courses
- Advanced Operating Systems
- Prereqs: Operating Systems
- Goal: to teach how modern operating systems (Mac OS 9, Mac OS X, Windows, BSD, Linux, Plan9, Athena, Inferno, Solaris) work and differ
- Topics: microkernel vs monolithic, ACLs vs group permissions, kernel +user mode apps vs Windows monolithic, Everything is a file vs not a file, API differences
- Distributed Systems
- Prereqs: Networking, Data Structures
- Goal: theories and principles of designing distributed applications
- Topics: logical and vector clocks, atomic commits, rollback recovery, fault-tolerance
- Network Security
- Prereqs: Network Programming
- Goal: To teach the various method to secure both a network, and information transfer across the network.
- Topics:
- Categories: Networking, Security
- Computer Animation
- Prereqs: Graphics
- Goal: To teach the principle of computer based animation system
- Topics: history of animation, animation principle, motion control strategy
- Categories: Graphics, Animation
- Image Processing
- Prereqs: Graphics, Linear Algebra
- Goal: To teach the principle of how to do manipulation on Image
- Topics: Image Representation, point-based operation, line-based operation, region/area-based operation
- Categories: Graphics, Image Processing
- Workflow
- Prereqs: None
- Goal: To teach the principle of business process automatation
- Topics: Business Process definition, Workflow System, Workflow Management systems
- Categories: process, task management
|
|