About this course

CSE 30 is an undergraduate course in computer organization and systems programming. The goals are:

Required and Recommended Resources

Required textbooks

Peer Instruction : iClickers (required)

The course lectures will follow a Peer Instruction format, a teaching model which places stronger emphasis on classroom discussion and student interaction. As part of this you will need to own an iClicker register it on the iclicker website. Be sure to register your clicker by the end of the first week.

You can use the same iclicker for multiple courses. The iClicker can be purchased at the UCSD book store.

You will be expected to have completed the assigned reading and ready to discuss with your classmates.

The programming assignments for the course involve writing ARM assembly code. If you are interested in working on the actual hardware, I recommend purchasing a Raspberry Pi. The Pi is a nifty little ARM-based computer, fun to program and great for doing embedded projects. Any of the following raspberry Pi models would work for our purpose: RPi 1 model B+, RPi 2 model B or RPi 3. Unless you already own a raspberry Pi, the Raspberry Pi 3 kit will probably give you the best return on investment. Also purchase an ethernet cable so you have a way of getting into the Pi if you have trouble with the school WiFi. Here is the cheapest option If your laptop doesn’t have an ethernet port, you will need an adaptor

If you do not wish to purchase the hardware, you may take a software only route. We will use docker and an ARM emulator (qemu-user-static package) to virtulaize the raspberry pi in software.

Labs

The lab space for the course is B230. There are 10 stations with a keyboard, monitor and mouse that you can connect your Raspberry Pi to for one -time graphical setup. Although you can use these stations throughout the quarter, we recommend that you set up your Pi for remote connection via ssh instead of using it in a desktop configuration