| layout | default |
|---|---|
| title | 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.
- 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
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 |