Bits 2 C Computer Science:
From Bits to C and Beyond

[Index] [Handouts][pbl][References & Tools]


Part 1: From Bits & Transistors to Assembly Language YZU

1. Getting Started...

  1. Intro to UML Activity Diagrams (SWF)
  2. Programming in the early days of the computer age (BBC Article) (Link-Out)
  3. DIY Turing Machine (IEEE Spectrum) (Link-Out)

2. Bits, Data Types and Basic Operations

  1. Number Systems: Non-Positional and Positional (SWF)
  2. Converting Between Bases: Decimal → Binary & Hex → Binary (SWF See Patt 2.4)
  3. Command Line Program: Convert from Base Ten (decimal) to any Base (EXE)
  4. Precision Loss in Base Conversion Propagates (SWF)
  5. Variables and Number Storage: Fixed vs Floating Point (SWF, See Patt 2.1, 2.2, 2.3, 2.7.2)
  6. Bit Operations: Logic, Shift & Application (SWF, enc. Guide to Tutorial, See Patt 2.6, 2.7.1)
  7. Binary Arithmetic (Fixed-Point)(SWF, enc. Guide to Tutorial,See Patt 2.5)
  8. Binary Arithmetic (Floating-Point)(SWF, enc. Guide to Tutorial)
  9. A Second Look: User Data → 2-step Conversion → Storage Decisions → Manipulate → Retrieval → 2-step conversion → Output to User(SWF, See Patt 2.7.4)
  10. Sample Test (EXE)

3. Digital Logic and Finite State Machines

  1. RS Latch (YouTube) (Link-Out)
  2. Finite State and Turing Machine Animations Ref. I Chai, Chapter 11 and 12
  3. Turing Machine Simulator (SDBA)
  4. Turing vs Von-Neuman Model: Add1 (SDBA)
  5. Turing vs Von-Neuman Model: A to B (SDBA)

4. Von Neumann Model, Machine and Assembly Language

  1. Computer Organization (SWF, See Patt 4.1)
  2. Assembly and Machine Language Programming (SWF, See Patt 4.2)
  3. Aray Simple Assembly Language System [pdf][html]
  4. Hardware. Operating Systems (作業系統), Programs (OS responsibilities)
  5. Networks

8 I/O (Input and Output)

  1. Interrupt-Driven versus Polling (HTML Slides, See Patt Section 8.1.4 & 8.5)

Transitioning to C: Compiler Installation & First Program

  1. My First ANSI-C Program: From Installation to Running
  2. Compiler,Text Editor & Input Library Functions Installation : 編譯器和編輯器
    1. Goto: and
    2. Choose Tools:Compiler and IDE Installation from drop-down list to install.
    3. Follow instructions to install gcc compiler and jEdit text editor, as well as course specific files such as jlib.h
    4. Check that all files are in the directory c:\sdba
  3. Introduction to Second Semester: Learning Basic C Programming
  4. Review. UML Activity Diagrams and Algorithms
  5. My First ANSI-C Program: : Editing, Compiling, Linking, Running, Debugging (at sdba)
  6. Summary of Key C Language Concepts

Part 2: Programming in the C language YZU

11. Basic Programming in the C language: Functions and Variables

  1. Functions
  2. Variables Ref: I Chai,pg 1 - 15
  3. Sample Questions to test your understanding
    1. Download Sample Test
    2. Extract the contents of the m3tst.7z and place contents into directory c:\sdba (not in a subdirectory)
    3. Click on CTST Icon CTST to run sample test.
  4. Practice Questions

16. Pointers

17. Program Flow: Sequence, Decision, Repetition

16. Arrays & Records

Part 3: Advanced Programming with C:
Structuring Data, Building Algorithms

To report errors or broken links, contact Bai Xiao Ming (Jonathon White) @ jonathondavid AT