Your Contributions
The Lab part of this course is built up of multiple (mainly 2) parts. Each of those parts deserves proper attention - focussing on just one while disregarding the other will likely not get you far.
Reading and Research
Clearly, it sounds most enticing to simply jump into the assignments and start coding... well.. something. Unfortunately, this approach will likely not allow you to make the most of this Lab and is probably not the wisest use of your time. (Yet, you are free to decide on your own approach to the course, so you may also ignore every single piece of advice given in this Manual - and maybe that is even the approach that works best for you).
This Lab is not designed to teach you how to code (it is a nice side-effect nonetheless), but rather to understand the underlying mechanisms of a computer while building your skill to approach complex problems in an unknown environment (the assembly language) with a set of simple building blocks. Each assignment covers some new concepts that are introduced in the reading material. Solving the assignment without covering the reading and research first will not only be very difficult but also truly misses the point of gaining a deeper understanding. It is generally indicated what topics should be prepared before attempting each assignment, however, as the assignments progress, these indications become less detailed. You should develop the skill to identify the needed reading material along the way (→ this skill will be important for your whole (academic) career, building it early is the best thing to do to set yourself up for success).
Practical Work
Theoretical knowledge is, for many people, best cemented and fortified by practical application. Which is great! Moreover (and maybe more importantly), coding is also really fun (it's essentially like Lego but more functional after all).
The Lab part of this course encompasses a total of 10 practical assignments. Of those 10 assignments, the first 4 are mandatory and successful completion is needed to pass the course. They cover an introduction to the basics of Assembly programming. The remaining 6 assignments are concerned with more complex concepts and altogether cover a large part of the remainder of basic Assembly programming topics. They are (as most parts of this course) fully optional and are rewarded on a per-assignment basis (ranging from 150 points for A4+ (Part 1) to 1,000 points for A9).
It is generally recommended to at least give the first extra assignment a try. While important in their own way, the mandatory assignments only cover introductory basics and should leave most students with a desire to learn more (as this is what you are hopefully going to university for).
Recommended Approach
Generally, it is recommended to interleave the reading/research part with the practical part. That is, to:
Read about the required topics until you have a basic understanding.
Start/continue working on the assignment.
Identify missing knowledge on the way.
Repeat from step 1 until the assignment is completed and you feel like you understand all of your work.
Submit your assignment.
Last updated