User Tools

Site Tools


archive:eec120plan

This is an old revision of the document!


EEC120 Teaching/Evaluation Plan

Plan for EEC120 Computer Programming I

Week Lecture Laboratory Notes
Week 01
  • Course Introduction
  • Introduction to Computer Systems
    1. Hardware (CPU, input, output)
    2. Software (Kernel, OS, userspace)
    3. Numbers & Logic
  • Introduction to Computer Programming
    1. Algorithms: instruction sequencing
    2. Flow-charts: visual representation
    3. Interpreters ⇒ scripts
    4. Compiler and Linkers ⇒ binary executables
  • Tools (compiler/IDE) Installation/Setup
  • [VIDEO GUIDE]???
Week 02
  • Introduction to C language
    1. Basic code structure (syntax)
    2. Function and code-block
    3. Simple text display
  • Creating first executable binary
    1. Syntax (language) and semantic (decision logic) errors
    2. Simple debugging
  • Explore building binary from c source code
  • Explore creating text decorations using symbols
  • [VIDEO GUIDE]???
Week 03
  • C Variables (data storage)
    1. data types and sizes
  • C Operators
    1. arithmetic and logic
    2. boolean vs bitwise
  • Data processing
    1. equations and tasks
  • Understanding storage types and practical use
  • Exploring code that does equations/calculations

Assignment 1 Queue

Week 04
  • Flow control: Branches (selection)
    1. if-else structure
    2. switch-case structure
    3. (otional) the ?: combo
  • Understanding decision making process in code
  • Exploring code that control program flow
Week 05
  • Flow control: Loops (repetition)
    1. for structure
    2. while structure
    3. do-while structure
  • Understanding iterative flow in code
  • Exploring code that repeats itself

Assignment 1 Due (5%)

Week 06
  • Simple Applications
    • traffic light control
    • temperature control
    • input signal detection/measurement
  • [DEVELOPMENT WORK]
  • practical programming:
  • detect edges
  • measure pulse width
  • measure frequency
  • generate pwm (single/periodic)

Lab Assessment 1 (10%)

Week 07
  • Hardware Platform 2 (Lecture Part 4)
    • Board (GTUC51B001) specifications
    • Mirocontroller (NXP P89V51RD2) details
  • Lab Work 3 (cont.)
  • [DEVELOPMENT WORK]
  • system integration

Mid-term Examination (20%)

Week 08
  • Hardware Platform 2 (cont.) (Lecture Part 4)
    • Features: I/O, Timer, Interrupt
  • Lab Work 3 (cont.)
  • [DEVELOPMENT WORK]
  • system integration

Assignment 2 Queue

Week 09
  • Embedded OS on Raspberry Pi
    • running Raspbian Linux
    • basic I/O access
  • [PREPARATION WORK]
  • prepare raspbian (pgt302pi image)
  • change hostname (make unique)
  • [DEVELOPMENT WORK]
  • my1linuxpi: gpio
Week 10
  • Embedded OS on Raspberry Pi
    • running Raspbian Linux
    • basic peripheral interface
  • Lab Work 4 (cont.)
  • [PREPARATION WORK]
  • make sure avahi/mdns is running on pi
  • make sure bonjour/avahi/mdns is available on host
  • [DEVELOPMENT WORK]
  • remote access using putty
  • my1codelib: run custom server
  • my1linuxpi: run gpio http server

Assignment 2 Due (5%)

Week 11
  • Setup/running simple data server
    • server side programming (C @ PHP)
  • Lab Project

Lab Assessment 2 (10%)

Week 12
  • Setup/running simple data server
    • client side programming (C @ HTML/CSS/JAVASCRIPT)
  • Lab Project (cont.)
Week 13
  • Practical Applications
    • requirements and considerations
  • Lab Project (cont.)
Week 14
  • Practical Applications (cont.)
    • requirements and considerations
  • Lab Project (cont.)

Lab Project Due (10%)

archive/eec120plan.1786436954.txt.gz · Last modified: by azman

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki