ASM
The following is a list of the major topics being covered in this course:
von Neumann vs. Harvard architecture
Data Representation
Binary Number Representation
Hexadecimal Number Representation
Logic
Computer Arithmetic
Architecture Details
Processor & Memory Organization
Addressing Modes
Register
Indirect
Immediate
Memory
Registers
Instruction Sets
Arithmetic Instructions
Addition
Subtraction
Multiplication
Division
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
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)
arithmetic (equations, operators)
logic and operators (and, or, not, xor)
Variables (types, ranges, sizes)
“String”, Format/Formatted Text String
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)
Multi-dimensional arrays
File Access (Read, Write, Append)
Structures
typedef, enum, union
Functions
Command-line arguments
Code stages (Source, Object, Binary)
Compiler, Preprocessor, Flags, Assembler, Linker
C Library, Libraries, and Makefiles
Multi-file programs (how to structure, how to compile)
Version Control (checkout, commit, update, add, log)
I/O Streams (cin, cout, cerr, stream operators) [C++]
Array of char vs. C++ string data type [C++]
Namespaces [C++]
Type Casting Operators [C++]
Const-Volatility Specifiers (const, volatile) [C++]
Classes and Objects (Constructor, Destructor, Members) [C++]
Access Control (Public, Protected, Private, Friend) [C++]
“this” pointer [C++]
Inheritance (single, multiple Inheritance) [C++]
Polymorphism/Virtual Functions [C++]
Function Overloading [C++]
Operator Overloading [C++]
Exception Handing (throw, try, catch) [C++]
Abstract Base Class [C++]
Templates [C++]
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)
Static allocation vs. Dynamic allocation
Memory allocation (malloc(), new)
Memory De-allocation (free(), delete)
structures
Linked Lists
Doubly Linked Lists
Stacks (array-based, linked-list based)
Queues (array-based, linked-list based)
Computational Complexity
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)
Graphs
Hash Tables (keys, collisions)
HPC0
The following is a list of the major topics being covered in this course:
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
Focus on File Systems
Connection Control
Device files
Race conditions
Atomic Operations
Streams
Terminal Control and Signals
Event-Driven Programming
Processes and Programs
Shell Variables and the Environment
I/O Redirection and 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
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:
$PATH
wildcards
tab completion
Job Control
Program vs. Process
backgrounding a process
foregrounding a process
signals
killing a process
Multitasking
The UNIX Programming Environment
Compiler
Object Code
Linker
Library
C
Assembly
Pattern Matching
Regular Expressions
Basic Regular Expressions
Extended Regular Expressions
Filtering
Shell Scripting
networking, UNIX Networking Tools
'Netiquette, Security
X Window System
High-Performance Computing