We don't have any textbooks for this subject yet.

Why don't you be the first?
Sell your textbook for CITS1401

We don't have any notes for this subject yet.

Why don't you list yours first?
Sell your notes for CITS1401


$60 per hour

I am currently studying Master of IT, having finished undergrad in Computer Science and Data Science...


$50 per hour

I am studying my Master of Data Science and I am passionate about helping more people learn and succ...


$40 per hour

Hi, My name is Rishabh . I have completed my diploma in Data science and i am in final year of my Ma...


Unless you need to do it, give this unit a miss. I'm not actually sure what the point of the unit was. As an introduction to computer science, it's just crap since almost no theory or principles are covered, and as an introduction to python it leaves a lot to be desired, since lectures are basically ripped straight out of a textbook with no worthwhile additions from the lecturer and the code they do in lectures is very rudimentary. Responses to student questions on the forum were usually very late, or they just never got a reply, and the were typically very unhelpful. Despite that, the one thing that really turned me off this unit was the gap between what gets covered in the lectures and how you're actually assessed. The projects were a lot to throw at someone new to python and are really just terribly written, full of broken grammar and spelling mistakes, and a lot of clarification was needed to figure out a lot of the important details that should have been in the project descriptions and responses weren't great as mentioned. It felt like someone wrote the projects in one sitting and never looked at it again. Also, the benchmark cases that you can use to test your project's code are very misleading, as it might work perfectly with these cases but still fail in the cases that you're actually graded with. As for the exam, some questions relied on you knowing something that was talked about for less than a minute in the 25+ hours of lectures and never gets mentioned again, which is a bit shit since the questions aren't doable if you don't remember it. Also, it would be very easy to cheat in the online exam and get everything correct, giving a big edge to online students and screwing those writing on paper. The felt like the teaching staff just didn't care about the unit or the students. If you want to learn python, there's a tonne of material online that is cheaper and better explained. This really isn't worth the time and effort if you don't need to do it. If you have to do this unit, I'd strongly recommend learning at least some python first.

Anonymous, Semester 2, 2021

I agree with the other reviews. I'm in my third year doing a BSc, but I have zero coding experience and found that this was way too intensive for a first year unit. It's really unfortunate that the unit was split between people with programming experience and those that had none, as it means that the assessments never felt fair. I knew I would struggle in the exam so I put a lot of effort into the projects and labs so that I would have a bit of a buffer, but I got stuck on so many concepts. That being said, I liked Mubashar as a lecturer, he was thorough and clear in explaining concepts and in my opinion he was pretty clear about how he and the lab facilitators would be able to help, but often they were slow to reply on the forum, or a bit too vague. Luckily I have enough programmer friends who helped answer my questions, but I would have been screwed if I wasn't able to ask them to explain things. Quite a few exam (and lab) questions were quite math-y, which was infuriating as it felt like I was being assessed on my math knowledge, not Python, and it cost me heaps of time in the exam especially. I ended up with high marks for all the other assessments, but for the exam it was way too easy to forget one tiny concept and have that prevent you from being able to answer a whole question worth 20%. Give this unit a miss unless you're a super high achiever, or you have some programming experience.

Anonymous, Semester 2, 2021

For people considering this unit, I will be honest in saying that alot of the one star reviews make very valid points in how this unit is handled. Alot of the general arguments, that the cohort(?) is effectively split into those that have done coding before, and those that haven't, that the unit is poorly organised, teachers aren't helpful, that the content in the lectures were basically useless except for a few slides that actually showed you the required language to code, etc. All valid. Also, how they put students under time pressure when reading or writing code in the midsem and endsem exams, made no sense to me, as from my own personal experience this completely voided the entire thinking and trial and error process (that we were also taught to do) that occurs when writing code. However, I will say that as a beginner in python and coding in general, I found the lecture content (or rather the occasional slide with actual, helpful, information) sufficient in being able to complete the given labs and projects (given that we also got two weeks for them), and getting quite decent marks in return. The exams were a different story though. Once again don't understand the decision of making us write code under time pressure. And personally, couldn't bear listening to Mubashar drone on about exactly what was written on the slides, so I only read the uploaded powerpoints. If you're deciding to do this unit for an easy D or HD, I wouldn't recommend it. But if you're some kind of masochist with an interest in coding, and you're willing to spend some time learning how to actually code (to the extent of this unit) then by all means choose it and regret it later on. I can say that I do regret choosing this unit thinking it would be easy, but I don't regret actually learning how to code a bit.

Anonymous, Semester 1, 2021

If you're thinking about doing this unit, please consider changing. This unit is definitely not a begginers introduction to python and will most likely crush your passion/dreams of coding. The cohort is pretty much split into 2, the people who have had experience with coding and get 100% ,and the begginers who are just getting an understanding and only getting 30%. The mid semester quiz was an absolute joke, surely Mubashar didnt expect people to do 24 multiple choice in 30 minutes without guessing a majority of the questions. People cant look at code and instantly know what the output is, hence why people cheated and typed all the questions into Thonny which was unfair for those who did the assement correctly without Thonny. The projects are way harder to what was taught in the lectures and made begginers feel they were thrown into the deep end as they have never written something on that level before. Watching the lectures was difficult as Mubashar is very passive aggressive and feels the need to up himself every 10 minutes when no one asks questions during lectures by saying things like "oh i must be doing such a great job". Its also pretty sad that stack overflow is more helpful than the lab facilitators. This unit ruined my semester and now wish i didnt take it.

Anonymous, Semester 1, 2021

This might be the most poorly organised, most misleading unit in the whole of UWA. Firstly, the lectures are way too simple compared to what is expected of you in projects, labs and the exam. Mubashar is very passive aggressive and is NOT helpful at all. He explicitly tells students not to email him queries regarding marks, practice questions and anything else. He is sarcastic in the responses he does give and refuses to provide more than the bare minimum practice material. The mid semester quiz was presented to us that it would be closed book, and some simple multiple choice questions. We were given a practice quiz which seemed reasonable. During the actual quiz, we were surprised with large nested loops questions, and questions that were way more difficult that the ones provided in practice. When the test was over and we went to ask questions as to why it was so much harder than the practice one, Mubashar said 'I never said the practice test would be indicative of the actual test'. Then why provide the practice test at all? The projects and labs are difficult if you've never coded before even if you do pay attention to the lectures. Particularly with the projects, very specific information regarding the marking criteria is kept hidden until after the results are released. This is information such as '3 marks lost for no comments' and '2 marks deducted for repeated opening of file'. The projects briefs students are given are much different to this markers one, and say vague things like 'try and think creatively about worst case scenarios'. Again, if you have a question about any of this he WILL NOT be happy to get emails about it and will either ignore you or try and brush you off to someone else. The exam is hand-written on paper. Not sure what genius came up with that idea. This unit is designed to trip you up and make you fail, and there is such little support when you do have a question. I originally was passionate about software engineering at UWA, but if this unit is at all indicative of other programming units, I'm definitely going to be choosing a different course. Fuck Mubashar

Anonymous, Semester 1, 2021

One word: impossible. As a student that prides myself in distinctions and high distinctions, I am beyond disappointed in this unit. Mubashar may have enthusiasm, but it is laced with passive-aggressive undertones and ridiculous standards. The lectures are AWFUL to sit through and the examples given never seemed to correlate to that week's lab or upcoming project. Even with a tutor, it is very difficult to pass this unit. Would give zero stars if I could.

Anonymous, Semester 1, 2021

Terrible lecturer, and the project is much harder than the actual lab, if you have to do this, make sure to get help early and from a tutor if possible.

Anonymous, Semester 2, 2017

I agree that the unit was mental considering it is supposed to be easy to learn how to code in python than C++ or Java (which I already had during my college days). The lecturer was ok and the content as well but the assessments where just out of the blue in which will suppose let the student learn and appreciate programming instead of imposing fear and hatred in programming. In this generation, there are heaps of ways to learn specially online and students learn in many ways as well. Yet UWA is saying "you don't need to have background in programming to be in the MDS programme yet this! Such as waste

Anonymous, Semester 1, 2020

Not sure why the reviews below are so bad but I took this unit in semester 1, 2020 taught by Mubashar. The lecturer is extremely motivated and passionate. Lectures were a lot of fun and overall the unit is fairly easy to get a HD. This is coming from someone with zero programming experience. Highly recommend this unit!

Anonymous, Semester 1, 2020

Unit absolutely obliterated me a hundred times over. Do not do unless you're experienced in programming or are keen to take on the challenge. The projects were on a totally different level in comparison to the stuff you learn in lectures. Labs will only help you to a certain extent. Unit felt like I was thrown into the deep-end.

Anonymous, Semester 2, 2020