summaryrefslogtreecommitdiff
path: root/docs/umich/w25_461_journal.md
blob: a2912c1742d0d9b79366791a8b8ff3de0953b271 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# Winter 2025 Course Journal: EECS 461

Course Title: Embedded Control Systems

## Motivation

I enrolled in this course because of two reason:

- I checked the list of upper-level courses I must pick one from and this
  is one of the only three options that don't mess up my schedule
- Mark Brehob recommended it so it must be good

The other two courses are EECS 491 (distributed systems) and 483
(compilers). I have 491 in my backpack right now, but am thinking of
dropping it because workload. It really hurts me to drop a course offered
by one of my favorite professors. But compared to 461, it's less relevant
to my career, so I need to let go if I have to. 483 is another matter.
I doubt I have the math background.

The funny thing is, each of these courses teaches a different language:

- 461: C
- 491: Go
- 483: Rust

I'm stuck with the worst of the worst, aren't I. :floofmug:

## First lecture

The professor is Jeffrey Cook. He carries a suitcase, which ranks him at
2nd place on my "coolest thing to carry to lecture" leaderboard (1st place
is Robert Dick with his Panasonic Toughbook).

The course involves a haptic wheel (motorized steel wheel, ~10 cm in
diameter), some NXP ARM MCU, C, MATLAB, Simulink, and Stateflow.

Cook said in lecture that you can't declare variables in the middle of
a block, only in the beginning. I was like, no way that's true, that must
be an outdated version of C. I tried a counterexample on my gcc, and it
worked all the way back to C99. He said, "well, at least it's like that on
the lab compiler."

It turns out the rule dates back to C89. Which means? I'll be working with
C89 for the rest of the semester.

:mosfet_grub:

## First lab

I hate that the first lab is about MMIO and GPIO, which means I have to
relive 373. It's like having to beat a tedious game level that you already
passed one year ago with 28 tries. I went from MMIO to `digitalWrite`, and
now the rock is rolling down the hill. :floofmug: