These are the units you will learn in CPSC240 in Fall 2024 (in no special order). This is a work in progress. This page will be updated when warranted.
How to program in X86 assembly 5
Use of bash file
Compiling C & C++
Assembling X86 code
Linking object files
Use of library functions from C or C++
The role of rflags
Whole word boundary rules
Pushes equal pops
Debugging programs 0
Op codes
Hex editors
The X86 instruction set 5
Arithmetic instructions
Move instructions
Logical instructions
Bit-specific instructions
Conditional instructions
Extension instructions
Bit specific instructions
Hybrid assembly (5) and pure assembly (2)
Professionalism in programming 5
An attitude -- not a rule book
Pride in the product
Usable by other programmers
Two syntaxes 0
Inline assembly 0
Macros in the X86 context 2
Command-line parameters for C and C++ 0
How to use rflags 0
Licenses for software and for intellectual property 5
General purpose
Affero
Document license
Intellectual property
How to apply a license
Techniques for enhancing probability of obtaining a job offer 4
Use of a portfolio
Social leadership
Additional learning outside of BS degree
Obtaining letter of recommendation
Project -- possibly part of 491
Effective use of Job Fairs
Resume that excels over the competition
Technical details of how function calls and function returns work 5
Little endian and big endian 5
True random numbers numbers 5
How to create true random numbers
How to normalize random numbers
How to produce random numbers restricted to a given range
Number systems 64 bits: 5
Twos complement
Unsigned
IEEE754
Conversion algorithms
Number systems 32 bits -- similar to above. 0
GDB 3 //Modification of data not covered.
View data
Modify data
Systems programming (includes pure assembly) 3
System functions
Techniques to program without reliance on libraries
Architecture of X86 microprocessor 5
ALU
Cache
Clock, frequency, retrieval of tics
True random number generator
Three components
Conversion of tics to nanoseconds
Normalizing random numbers
Detecting and eliminating nans
Memory management 5
Activation record creation
Activation record destruction
CSUF server 0
Heroes of computing 4
Kings, Queens, Founders, Inventors
Footnotes: In Fall 2024 not all subject areas were covered to the full extent suitable for a 200-level course. A (5) on the right side of a subject area means "fully covered" this semester. A (0) next to a subject area means not covered in Fall 2024.