Skip to content

Latest commit

 

History

History
38 lines (33 loc) · 1.88 KB

File metadata and controls

38 lines (33 loc) · 1.88 KB
layout default
title Course structure

Course structure

We have a 12 week semester, with 2 hours of lectures and 2 hours of labs each week. Based on feedback from the current students I'm going for a 2hour long lab session, and 2 seperate 1 hour lectures.

Having skimmed through Lee & Varaiya and Lee & Seshia I'm thinking there is a good opportunity to make the lectures more theoretical that the previous module. This would push more into the practical sessions. There is good scope for putting a lot of directed reading to support both lectures and practicals.

Some things to Cover

  • Device drivers Low level access and control of devices, GPIO, configuring
  • Interrupts Interrupt handlers, timers, rising/falling edge buttons
  • TCP/IP stack, OSI model physical layer, link layer, and application layer
  • Data formats YAML, JSON, XML
  • Data logging websites api, data analytics
  • Digital Signals
  • Analog Signals
  • Sampling Nyquist limit

A weekly plan

How does this look as a plan? It may want some revision in the light of Lee & Varaiya, and Lee & Seshia.

Week Seminar Lecture 1 Lecture 2
1 Digital IO Intro Digital Signals
2 Events, time & interrupts memory mapped IO Discrete time & interrupts
3 Analog IO I²C SPI buses Analog signals
4 LCD & serial comms Display code Sensors
5 Control & feedback control of systems Finite State-machine
6 Assembler and ABI Sampling, Nyquist ARM architecture, assembler and ABI
7 Data logging Formats, XML, Json, Yaml TCP stack RFC1122, RFC1123, RFC768
8
9 Server logging & analysis App layer RFC2616, RFC7540, POP RFC1123
10 Authentication, validity, md5 hashes, sha/NIST FIPS 180-4 TLS RFC5246, SSH / HTTPS RFC2818
11 Encryption PGP RFC4880
12