University Subjects

COMP20005: Engineering Computation

COMP20005: Engineering Computation


Subject Reviews

M909

5 years ago

Assessment
Assignment 1 (10%), Assignment 2 (20%), Mid Semester Test (30 minutes,10%), End of semester exam (2 hours, 60%), where there is a hurdle requirement of 12/30 for assignment 1 and 2 combined, and 28/70 for the test and exam combined
Comments
This was a really well taught subject that could be both challenging and genuinely enjoyable. As many other reviews both here and elsewhere will say, Alistair is a very passionate and engaging lecturer, which really contributes to the subject experience. The key to doing well is to code throughout the whole semester, and also practice hand-writing your code as well. If you're like me and don't live on or very close to campus, download the (free) software (Jedit, MinGW) needed to do the lab work at home.

The only prerequisites for this subject are some form of first year linear algebra and calculus, so you don't really need programming experience to enroll in this subject. That being said, ENGR10003/ESD2 is listed as the recommended background knowledge. I took this subject the summer before, and found that it helped with the first few weeks (since it gave me the basis gist of the programming skills/concepts used), as well as with some of the theory behind number storage, which wasn't really directly taught in Eng Comp such as binary and hexadecimal number conversions. It wouldn't be impossible to pick this stuff up without ESD2, but would definitely required more effort and research.

The subject will mainly teach tools used for programming - Numbers in and out, branching/selection, loops, functions, arrays, pointers and structs. After being introduced to this, you start to look at the theory behind how numbers are stored (E.g. Types of binary, floating point representation ect), and types of problems that utilize the skills taught such as root finding, numerical integration, computation involving matrices and simulation.

Lectures:
Involved Alistair talking through a bit of the theory, but primarily showing programs and how they work, as well as other illustrations of the concepts (E.g. By writing on paper, getting the audience involved). Although attendance was strongly encouraged, I usually only attended around 1 a week due to timetabling and found that the lecture capture was sufficient. However, they are definitely worth a least watching, as you pick many important tips and tricks, as well as code you might not see elsewhere.

Workshops:
Was split into two distinct phases; the first hour would involve your tutor explaining/reviewing the concepts, and group discussion of questions. The second hour involved you working individually on prescribed book questions, while the tutor/s would assist if needed. You could probably get away with not attending if you have experience with programming and are clear on the expectations, but as someone new to programming I found them to be very helpful, especially for assignments. On a slightly related note, the tutors were also all very dedicated, offering help and answering questions promptly on the subject discussion forum on the LMS throughout the whole semester.

Assignments:
Both assignments were very time consuming and challenging, but could also be enjoyable and easy to get stuck into. A rubric, as well as samples from past assignments were provided, so expectations were very clear, but applied strictly so be careful to check thoroughly. You are assessed on the presentation of your program, structure/approach and output. Submission must be done through dimefox, which involves a few steps, and possibly downloads if you want to do it from home. It took me a while to figure out, but became easy once I got the hang of it - Definitely take him seriously when he says to submit as you go, or at least submit a practice before due date is close (you can submit as early and often as you want). The results distribution for both assignments was (and usually is) very top heavy, so although it requires a lot of thinking, if you start early and put in the effort, great grades are very doable in this aspect of assessment.

Mid-semester test:
Although it only tested basic concepts (selection, loops and functions), it was a tough test (From the test page, "mean=4.6; median=4.0"!) and many felt pressed for time. Make sure you review the practice tests, as well as book questions and problems from workshops, but don't be too discouraged if you're not happy with your mark as it's a stressful test with very limited time!

Final Exam:
Was surprisingly a bit easier than expected (Probably due to the lower than usual test scores in this semester/year), but don't expect this in the future, especially if Alistair is your lecturer. The structure of the exam is outlined pretty clearly in the exam prep lecture slides so you pretty much know the types of questions to expect. In general, there will always be enough "basics" so that anyone who made some effort and knows the basic tools of C can pass, a 90/95er separator which is very difficult but worth a small number of marks and questions at the levels in between, testing the slightly more complicated C tools, and the theory based questions on topics such as number representation, and practical computation problems such as integration. I'd highly recommend going into the final exam being able to quickly code simple mathematical functions (Specifically exponential and factorial), insertion sort or some other sorting algorithm, swaps with pointers, exit failures, and whatever else seems to be frequently needed. In fact, I'd also recommend this for the test, but only involving functions using the skills taught thus far.
From the exam page, the final mark distribution was "min=5.0; max=92.0; mean=64.2; median=67.0; sd=16.1; 14.8% below 50"
Lectopia Enabled
Yes, with screen capture
Lecturer(s)
Alistair Moffat
Past Exams Available
There were two sample exams and a past special exam, all with solutions. There were also 3 samples provided for the test, also with solutions - Note for code/programming writing questions, solutions are not the only possible correct answer.
Rating
4.5 Out of 5
Textbook Recommendation
Programming, Problem Solving, and Abstraction with C by Alistair Moffat - Pretty much vital as most the practice problems in workshops are taken from the book. The book also provides a very good summary and explanation of the concepts, examples with the full code and extra questions to work through
Workload
3 × 1hr lectures, 1 × 2hr workshop
Year & Semester Of Completion
2018, Semester 1
Your Mark / Grade
H2A (78)

Did you find this review helpful?

cnguyen599

9 years ago

Assessment
2x Assignments (%10 and %20), 1x Mid Semester Test (%10), Exam (%60)
Comments
Well this was a cool subject! To the survivors of ESD2 who experienced the abomination of the MATLAB module, this will be a significant improvement.

For this subject you learn the core of C programming and by the end of the course, you should be capable of making your own programs! Don’t worry, they won’t immediately toss you into the deep end. You start off first by learning the language, and then move onto things like loops, functions, pointers, arrays and structures. Each of these essentially builds on the previous and you should think of them as additional tools in your tool kit that will make your life easier. The faster you learn to apply them the more time you will save sitting in front of that computer. So don’t neglect them.

The course follows the text book quite closely, where pretty much everything that you are expected to know is in the book. These have questions at the end of each chapter to build up your programming muscles. Do try to do as many exercises as possible, as this will be the best way you can familiarise yourself with coding. I aimed to do all of the questions of the chapter by the end of the week, and trust me, it takes time and commitment. I remember staring at the screen at 2am ready to beat the bits out of my computer debugging my code.

So, what did I learn from my mistakes? KISS: Keep it simple stupid. And stupid I was indeed. The more complicated your code is, the harder it will be to follow and track down the source of your mistake. Therefore the more time you waste. You should code in blocks. Test to see if that section works independent of the program, and then apply it to the larger program rather than coding slabs. There was mention of this in the course, but much later then I would have liked (Chapter 5 pg78). Finally, your old codes can always be improved. By learning new techniques, you can redo these old programs so they can be more efficient and also continue to buff your programming muscles.

By week 10 onwards, you will be taught content that are not in the book. These include things like binary conversion to hexadecimal, floating point representation, various mathematical techniques that can be made into programs, etc. The mathematical techniques were pretty annoying and it was told that we had to understand how they worked and write out the equations associated with them. This was where the rote learning came in. However, my exam did not feature any questions on these techniques but they did appear on previous years and the sample questions. So I managed to dodge a bullet on that one.

A small amount of Linear Algebra was required to understand the code for Gaussian Elimination; basically solving a system of simultaneous equation. From ESD2 you were required to apply the Euler Forward difference method for designing programs capable of physical simulations, e.g. the max height a rocket flies.
As you may have heard from previous reviews, the lecturer, Alistair, is indeed a fantastic person. He was enthusiastic in his approach to teaching which made the lectures so much more bearable. Also he answers his emails FAST. So if you got a question, don’t hesitate to bombard him with it.

Each week you have a 2 hour tutorial. The first half involves the tutor going through basically a recap of the previous week and a few questions from the book. The other half is your chance to ask your tutor questions about anything you are having trouble with. Even if you managed to create a functional program, there is always room for improvement. Looking back at some of my old codes, I cringe at how sloppily they were put together. I suppose that is the effect of sitting at your desk for prolonged periods of time.
There are 4 assessments for Eng Comp: Assignment 1 and 2, mid semester test and the 2 hour Exam.

You have 2 assignments in the semester. The first (10%) tests your use of loops and if statements, arrays and functions. The second (20%) is given after the MST, and requires that you use structures and more functions and arrays. You get around 2-3 weeks to finish them and my advice is that you should get them done as soon as possible. While they may seem daunting at first, they are broken into steps for you, and pretty much tells you what is required. You just have to come up with a method by breaking the large problem into smaller ones. Remember, you can always ask the tutors in your workshop for help, and the sooner you resolve a problem the better and they might be able to pick up things you have not anticipated.

There is also a tedious submission process involved which you obviously need to get used to; once again ask your tutor if you have trouble. At the end of each assignment Alistair shows the submission times. My goodness, there are some that occur just a second before the deadline. So submit regularly and early. Also TEST them. There was one submission that had just rows of dots. No code whatsoever. Everyone thought it was just some prankster, but no. It turned out the person didn’t test their program before submitting and are now regretting it.

Now the mid semester test. It was 30 minutes long and had around 5 questions based on what you have learnt at that point. This test however requires you to hand write your code, so start practising early. I recommend that before directly writing up your code on the computer scribble it on a blank sheet of paper. Note your mistakes and remember them. You will also be given a sample test to practise.

Finally the big bad exam. This was tough. And to be honest, I probably did pretty shitty. I would describe what you are given as a puzzle. You’ve done similar kinds of puzzles before, you have the tools to solve them, but you still need time to think about what you are going to do which is quite difficult with a time limit. Furthermore there is not just a single way to solve it. These questions are not like those where you immediately recognise the question and pop up with a method and solution with a snap of a finger. Therefore, I believe that there is an importance in learning how to plan your code without relying on your computer to tell you what is wrong. You will be given a single sample paper with solutions and a few more sample questions (possibly without). Also, all the questions set in the workshop will also have solutions to them and there are some that are similar to the exam questions.

Engineering computation can be a stressful and irritating subject but is ultimately rewarding. You will experience the satisfaction of creating your own working programs and seeing that it in front of you. It’s not like one of those subjects where you constantly question why am I doing this? With Eng Comp you can see the outcome of what you have learnt firsthand. At the end of this subject you will come to appreciate programmers and computers, making you think twice before slapping your dumb computer for being too slow. Even if I did poorly, I can truly say I learnt something.
Lectopia Enabled
Yes, with screen capture.
Lecturer(s)
Alistair Moffat
Past Exams Available
1 sample exam with solutions.
Rating
4.5 of 5
Textbook Recommendation
"Programming, Problem Solving, and Abstraction with C" - Alistair Moffat
An essential book for the course. Must buy!
Workload
3x 1 hour lecture per week, 1x 2 hour workshop per week (optional)
Year & Semester Of Completion
2014 Semester 1

Did you find this review helpful?

hobbitle

9 years ago

Assessment
10% Assignment 1, 20% Assignment 2, 10% MST in about week 6, 60% Exam.
Comments

This subject is overall awesome and if you can possibly take it in Semester 1, when Alistair teaches it, you really should. He is enthusiastic about programming and a very committed subject coordinator. He replies to every email and the students love him (their dedication is shown in the fan website http://algorithmsarelife.com). Expectations are clear and the content is well paced.

You start off right at the basics of C programming, but definitely the MATLAB stuff you do in ESD2 is helpful. You shouldn't have any problems with the first 2-3 weeks if you've done ESD2. How to manipulate numbers, functions, arrays, pointers, structures, strings are all covered in the first 10 weeks. Each chapter covers a new concept and is accompanied by about 10 exercises for you to do. If you do them all (Chapters 1 - 9 + 13) then you will be in a very good place for your final exam. Some of the more difficult concepts are covered in his final two weeks and they involve more abstract thinking, a greater focus on recursive programming methods, and different problem solving techniques. Some people are much better at this kind of stuff, some aren't. For me, it takes me forever to generate an algorithm, but once once I have it, I can punch out the code like lightning. But for a friend, he knew what the code needed to do, but it took him forever to write it.

Currently I'm procrastinating studying for this subject by writing this review. Which leads me to my one and only issue with this subject - even though the exam is 'only' 60%, it really should be more like 40% and we should have had another 20% assignment. Testing programming skills via handwritten code is not conducive to real life situations - that said, mostly they are testing your ability to use logic, abstraction, and generate algorithms.

This subject is difficult to 'study' for. The only real way is to start coding, right from Week 1. You HAVE to keep up with the exercises week-by week, because cramming code is nigh on impossible. By the end, and after both assignments, you should be fairly comfortable with the general syntax of C so that you don't have to concern yourself with that sort of stuff in the exam. Alistair is known for generating a difficult final exam to try and separate the 90%-ers from the 95%-ers, but that said he is very clear on what he expects from you. I'll update this post with a comment on the final exam after I sit it next week (8am, first day of exam block!).
Lectopia Enabled
Yes with screen capture.
Lecturer(s)
Alistair Moffatt.
Past Exams Available
About 20 sample exam questions provided, as well as a whole lot of exercises in the textbook for practise.
Rating
5 out of 5
Textbook Recommendation
"Programming, Problem Solving and Abstraction in C" by Alistair Moffatt. And yes, it's essential to the course. The course is built around this textbook.
Workload
3 x 1hr Lectures per week, 1 x 2hr practical per week
Year & Semester Of Completion
Semester 1, 2014.
Your Mark / Grade
Will let you know after exam.

Did you find this review helpful?

Hancock

10 years ago

Assessment
10% Assignment 1, 20% Assignment 2, 10% mid-semester held in Week 6, 60% Final Exam
Comments
Given my experiences with programming and computing, I came into this subject dreading the whole concept of it. Surprisingly enough, this turned out to be a fantastic subject that really does introduce you to the language of C and by the end of the course, you should be competent enough to tackle some harder engineering-esque questions that you may face as an Electrical, Mechanical or a Biomedical Engineering major.
This subject is run completely from the textbook. I don't believe that you can learn programming by listening to lectures, and as such, I only went to those ones in Week 12 for the Exam revision, and I watched the rest online while practising programming. This course starts you from the absolute basic of computer programming, assuming no knowledge of any language. However, most students here came from ENGR10003: Engineering Systems Design 2, and as such, should have some MATLAB skill. You learn the topics of selection, functions, arrays, structures and how to effectively analyze a problem and use
Lectopia Enabled
Yes, with screen capture (thank god).
Lecturer(s)
Alistair Moffat
Past Exams Available
Only one available in Week 12. Solutions provided in SWOTVAC.
Rating
5 Out of 5
Textbook Recommendation
Alistair wrote the book and runs the course. The book is absolutely vital to doing well in this course. Please buy it.
Workload
3 x one hour lecture and 1 x 2 hour workshop per week
Year & Semester Of Completion
Semester 1, 2013
Your Mark / Grade
89 [H1]

Did you find this review helpful?

Australia Treasury

Help shape the future for all Australians

Want to make an impact to your local community and across Australia? Join Treasury, the Government’s lead economic advisor and be involved in developing policies and providing well informed, innovative and sound advice on key issues that impact Australians.

Find out more