ASM
The following is a list of the major topics being covered in this course:
- von Neumann vs. Harvard architecture
- Fetch-Execute Cycle
- Binary and Hexadecimal Number Representation
- Processor & Memory Organization
- Registers (General Purpose/Integer, Floating Pointer, Accumulator, Data)
- Registers (Stack Pointer, Program Counter, Flag/Status)
- Registers (Index/Pointer)
- Instruction Sets (CISC, RISC)
- Boolean Arithmetic Operations (Addition, Subtraction, Multiplication, Division)
- Logic Operations (AND, OR, XOR)
- Negated Logic Operations (NOT, NAND, NOR, XNOR)
- Data Instructions (Data Movement, Address Movement, Data Conversion, Bit Manipulation)
- Control and Data Flow
- Subroutines (Calling, Return Address)
- Storage
- Machine Word
- Stack Operations
- Data Representation (Big Endian, Little Endian, Size, Integer, Floating Point, ASCII)
- Data Representation (Sign Representation, One's Complement, Two's Complement)
- Linking, Object and Machine Code
- I/O
- Interrupts
- Address Bus
- Data Bus
COMPESS
The following is a list of the major topics being covered in this course:
- Number Systems
- Digital Processing
- Computer Hardware
- System Software
- Application Software
- Artificial Intelligence
- System Development
- Telecommunications
- Internet and Web
- Databases
- Security, Privacy, Ethical Issues
- Programming
- Computer History
CPROG
The following is a list of the major topics being covered in this course:
- Standard I/O (STDIO, STDOUT, STDERR)
- Header Files (Local and System), C Standard Library (Libc), Libraries
- arithmetic (equations, operators)
- logic and operators (and, or, not, xor)
- Variables (types, ranges, sizes)
- Scope (Block, Local, Global, File)
- Pointers (address of, assignment, dereferencing)
- Type Casting
- Selection Structures (if, case/switch)
- Repetition/Iteration Structures (for, while, do while)
- Arrays (standard notation, pointer arithmetic, single-dimensional, multi-dimensional)
- File Access (Read, Write, Append)
- Structures (Declaration, Accessing Elements, Pointers to)
- typedef, enum, union
- Functions, Parameters (Pass by: Value, Address, Reference), Return Types, Recursion, Command-line arguments
- Compiler, Preprocessor, Flags, Assembler, Linker, Multi-file programs (how to structure, how to compile)
- I/O Streams (cin, cout, cerr, stream operators) [C++]
- Namespaces [C++]
- Type Casting Operators, Const-Volatility Specifiers (const, volatile) [C++]
- Classes (Objects, Constructor, Destructor, Access Control, Public, Protected, Private, Friend, “this” pointer) [C++]
- Inheritance (single, multiple Inheritance), Polymorphism/Virtual Functions, Abstract Base Class [C++]
- Overloading (Functions, Operators) [C++]
- Exception Handing (throw, try, catch) [C++]
- Templates, STL (Standard Template Library) [C++]
DATA
The following is a list of the major topics being covered in this course:
- Version Control (checkout, commit, update, add, log)
- Pointers (address of, assignment, dereferencing)
- arrays, pointer arithmetic
- pointers to pointers
- null pointers
- void pointers
- function pointers
- Static allocation vs. Dynamic allocation
- Memory allocation (malloc(), new)
- Memory De-allocation (free(), delete)
- structures
- structure pointer
- Linked Lists
- Doubly Linked Lists
- Stacks (array-based, linked-list based)
- Pushing
- Popping
- Top
- Overflow condition (where applicable?)
- Underflow condition
- LIFO or FIFO?
- Queues (array-based, linked-list based)
- Enqueuing
- Dequeuing
- Overrun and Underrun conditions
- LIFO or FIFO?
- Computational Complexity
- Big-O, Theta, bounds
- Sorting Algorithms
- Selection sort algorithm
- Bubble sort algorithm
- Insert sort algorithm
- Quick sort algorithm
- Merge sort algorithm
- Binary Search algorithm
- Trees, Binary Trees (nodes, parents, children)
- insertion
- removal
- searching
- traversal (pre-order, post-order, in-order)
- Graphs
- Hash Tables (keys, collisions)
HPC0
The following is a list of the major topics being covered in this course:
- Introduction & Getting Started
- UNIX review (as a user)
- UNIX review (as a developer)
- UNIX as an administrator
- UNIX networking tools
- security
- package management
- file access / transfer
- networking services
- system administration
- documentation
- backups
- virtualization
- visualization
- installation
- configuration
HPC1
The following is a list of the major topics being covered in this course:
- lab operations
- maintenance
- logging
- accessibility
- upgrades
- backups
- documentation
- resource usability
- remote administration
- on-site administration
- security - internal
- log analysis
- troubleshooting
- security - external
HPC2
The following is a list of the major topics being covered in this course:
- lab operations
- maintenance
- logging
- accessibility
- upgrades
- backups
- documentation
- resource usability
- remote administration
- on-site administration
- security - internal
- log analysis
- troubleshooting
- security - external
SYSNET
The following is a list of the major topics being covered in this course:
- Communication
- Concurrency
- Documentation
- Investigation
- Creation
- Collaboration
- Clusters
- Resource Utilization
- Exploration
- Projects
- Deployment
- Implementation
SYSPROG
The following is a list of the major topics being covered in this course:
- UNIX Systems Programming
- User space
- Kernel, Kernel space
- Users, Files, and the Manual
- File Access (open, read, write, lseek, close)
- File descriptors
- Buffering
- System Calls
- Directories and File Properties
- File Types and File Properties
- Bit Sets and Bit Masks
- User IDs, Group IDs
- Focus on File Systems
- Filesystem Structure; inodes and data blocks
- Directories
- Links
- Connection Control
- Device files
- Race conditions
- Atomic Operations
- Streams
- Terminal Control and Signals
- Blocking vs. Non-Blocking
- Signals
- Event-Driven Programming
- Alarms, Interval Timers
- Reentrant code, critical sections
- Asynchronous input
- Processes and Programs
- UNIX process model, processes
- Parent/Child processes
- Shell Variables and the Environment
- I/O Redirection and Pipes
- I/O Redirection
- Pipes
- Servers and Sockets
- Client/Server model
- Coroutines
- Connections and Protocols
- Server sockets
- Client sockets
- Zombies
- Programming with Datagrams
- TCP vs. UDP
- Distributed Systems
- UNIX domain sockets
- Threads
- Multithreading
- Creating/destroying threads
- Sharing data between threads
- Synchronizing data
- Inter Process Communication
- Named pipes
- Shared memory
- File locks
- Semaphores
UNIX
The following is a list of the major topics being covered in this course:
- Local host
- Remote host
- Home directory
- Current working directory
- Types of files (regular, directory, special)
- File manipulation
- Text Processing
- The VI editor
- The UNIX Shell
- Environment variable
- $PATH
- wildcards
- tab completion
- Job Control
- The UNIX Programming Environment
- Compiler, Assembler, Linker, Loader
- Source Code, Object Code, Binary Code, Library
- Pattern Matching
- Regular Expressions
- Filtering
- Shell Scripting
- networking, UNIX Networking Tools
- Security
- X Window System