Mechatronics 3TA4 is part one of two embedded systems classes taken by mechatronics and software engineering + embedded systems students in third year. All other five year streams of mechatronics take this course in fourth year.
The course begins with somewhat of a 'business' take on things by explaining the balance between technology and market window. Basically, when you're building a product, you can either focus on getting it out the door as quickly as possible when nothing else like it exists, or focus on making it better. If you wait too long, you can miss the market window and end up releasing your product when the market is already saturated with similar and possibly cheaper products (take the BlackBerry PlayBook for example). You learn really basic formulas for predicting the best time to go into production to hit store shelves as well as some linear trend formulas for the expected number of units you'll sell if you wait until time X when improving yours over competitors by a factor of Y.
Along with that, you learn about evaluating the value of your product. The value of a product is divided into non-recurring engineering costs (what you paid to have the product designed) and the cost of materials + manufacturing. Your non-recurring engineering costs are a one-time fee and are usually very high (easily over 100 grand). This is your research and development cost. You spread this cost over the number of units you sell. As you sell more units, the cost goes down until it eventually disappears (assuming your product is that successful). The cost for manufacturing + materials stays relatively constant unless you start selling vastly greater numbers.
Following all the business crap, you actually start learning the stuff that really matters in the course - embedded systems. This starts off with converting programs in single purpose processors by separating them into a finite machine (the control logic) and a datapath (the physical circuit... kind of). Basically, the control logic goes through steps and at each step sends a 'control signal' to the datapath to do something (i.e. store something to a register, put a register to output. etc). It's a little difficult to grasp at first, but it's actually not too bad.
Following that, you go into learning about micro-controllers, specifically the ATMega324P. Everything about this micro-controller is located in a massive 100+ page PDF. Unfortunately, the book and the professor's slides tell you how to program this thing using the 'CodeVision' compiler, but during the labs - you'll be using GCC. It's not difficult to translate over, but it's kind of a pain in the ass sometimes.
In your first lab, you will learn how to do very basic things like flash the output LEDs and change between 'counters' in the micro-controller. Basically just learning how to use the 'flag' registers to control different parts of the micro-controller hardware.
Following that, you move onto interfacing the micro-controller with different chips through the I2C standard interface bus. You read/write flash memory and control an RTC (real-time clock).
Gradually you move onto controlling other pieces of hardware (H-bridges for controlling stepper motors, temperature sensors. etc).
The course becomes harder with time, eventually moving into high-pass/low-pass filters, OP-amps and analog to digital converters (modems). This stuff is kind of separate from the labs.
Towards the end of the course, the course becomes heavily focused on operational amplifiers. You learn basically every type of amplifier circuit there is to know and the mathematics behind them.
------------------------------------
Anyway, the course breakdown is like this:
5% - In class/tutorial quizzes (5 x 2% each)
30% - Labs
20% - Midterm
45% - Final
OR it is this:
5% - In class/tutorial quizzes (5 x 2% each)
0% - Labs
30% - Midterm
65% - Final
The reason for the labs being potentially worth 0% is because there are severe time restrictions on how long you have to get everything done. You can know everything about the course, but still get stuck for hours on a stupid non-trivial bug. The micro-controller isn't exactly capable of reporting errors/warnings.
The professor for this course is Mark Lawford. He's an okay guy... looks incredibly tired 99% of the time when you see him. He knows his stuff, and if you can get a hold of him, he's pretty helpful.
Labs and tutorials were generally alright. If you pay attention in class (I didn't) quizzes shouldn't be a problem, and if you start early and actually commit effort to the labs -
most of them should turn out fine.
Overall, I would say this wasn't really an easy course. The midterm included an FSM/Datapath question that was next to impossible to complete within the given time for the test, and was worth about 20% of it. The exam was absolutely ridiculous. One question had a massive OP-amp transfer function and a diagram, and asked for the steps to derive it... no clue where to start as it didn't look anything like the op-amps circuits we knew. It also had a lot of stuff on analog/digital processing that is simply a void in my memory - I literally don't remember learning it :p. Also, all evaluations (quizzes, tests, exams) are open book.
Regardless of all that, nobody failed and pretty much everyone got an okay grade (like ~7 to 9). I got a 9 because I really didn't get a lot of the OP-amp stuff. This may be due to the fact that I never took 3N03 (a course software engineering and embedded systems students take in second year) due to switching late out of game design.
This course's continuation, MECH TRON 3TB4, focuses more on the digital component and in my opinion is a lot more practical for software engineering and mechatronics students than the hardcore electrical engineering stuff in 3TA4.
So basically, just survive this course and it's all smooth sailing from there
.