FIT5145 - Foundations of data science

I predict() Data Science ‘till I make it!

A true story on how Reinhart tricked himself to choose this elective unit, used same-same-but different terms while learning Data Science, honestly reported a grading himself until found himself awarded a High Distinction (85/100) for the overall course unit in Monash University.

Other Ways to Share

QR Code

As a refresher, I continued my postgraduate study in Monash as Master of Cybersecurity, not Master of Data Science. But when it comes to elective units, I choose it anyway as one of the introductory units that other Master of Data Science students had to study in their first year.

I didn’t expect to get the scores good enough, even higher than my other core course units in Cybersecurity.

So now, I don’t “fake it ‘till I make it”. I predict() to get an HD before I actually make it. And this story reminds me how (un)serious I am in studying, and Shift how I study in a random forest of uncertainties.

Acknowledgements

I would like to thank my teachers, supporters, and friends in data science that I can finally predict() having a high levels of confidence like it’s an R notebook!

For more information about the FIT5145 - Foundations of data science unit, visit https://handbook.monash.edu/2026/units/FIT5145?year=2026.

This post contains materials that have been previously submitted as part of assignments in Monash University. Internal distribution of the submitted material may subject to Monash University Student Conduct and Academic Integrity policies.

This journey begin when someone asked me whether I could teach coding in R. But despite already mastered in 16 programming languages at that time, I wasn’t sure how to even start with R.

The R programming language has some combination of SQL and shell scripts, because it is optimized for doing Extract, Transform, and Load (ETL) data in pipelines. That’s also why R has some weird syntax like %>% as you learn more about it.

Even though at that time I was unable to help, I became interested to work with R, and I predict() I could be able to inspect R notebooks to do my own research, and of course, do some cybersecurity audit against them. A few Master of Data Science students really recommended this unit as an introduction, so I decided to enrol as an elective.

Baseline modelling like it’s not baseline modelling.

The FIT5145 unit consists of a weekly Seminar and a hands-on Applied class. For most students with prior Data Science experience, they tend to skip the Seminar, which is kinda funny because I write this statement without some fancy data-driven figures and charts.

However, one of their main assignments require you to propose a data science research project and demonstrate some feasibility if we can do this in a larger scale, often with Big Data whose access is often restricted for public interest for sensitivity, privacy, and business reasons.

Having worked with the Mozilla Web Compatibility team for years before, of course I could raise a project around compatibility of web features against different browser vendors. The team's multi-year effort with other browser vendors led to the establishment of Baseline (web.dev), sanctioned as a W3C initiative to make sure a vast and increasing amount of newly-standardised web features can be delivered to web browsers and most of its users.

And so here’s the funny part, I want to tweak Baseline to work with different types of computer systems, but it’s definitely not the “baseline modelling” (towardsdatascience.com) data scientists and machine learning (ML) engineers commonly know.

We are talking about a different kind of Baseline that I had to convince other teachers and students about this terminology.

And unfortunately, it happens that my “false baseline” project demonstrated strong originality and novelty that the teachers graded my work as a really high, High Distinction grade (93/100 on proposal and 95/100 on final report)!

You talked in Bash. But I do PowerShell.

Some of the learning and assignment material require students to use “shell scripts”. But as a system administrator myself, that phrase is ambiguous.

Their examples used Bash and assumes data scientists to commonly work in GNU/Linux operating system environments. But even if we discard the fact that Windows uses good-old DOS “batch scripts” and PowerShell, there are some little details on differences between kinds of operating system that leads to common student mistakes:

  • Did you know that unlike macOS and Windows, Linux is a case-sensitive operating system? So if you have "data.csv" with all lowercase, Linux will consider it as a separate file name from "Data.csv", with an uppercase. This is always true even if you are working with Python or RStudio instead of Bash.
  • Did you know that Windows uses backlashes (\) to separate folder/directory levels, instead of forward slashes (/)? This is also because DOS programs usually used forward slashes to pass additional arguments or flags to DOS-native commands.
  • Did you know that the cd command works differently between common POSIX (a standardised version of Unix-like operating systems), Windows Batch/DOS, and PowerShell? For example, if you are using Command Prompt (Batch) to access your data science projects in a separate disk drive (like drive D:), you must append /D to the command, like cd /D "D:\My Projects\Data Science\"!

As a maintainer for tldr-pages (tldr.sh) who juggled with Command Prompt, PowerShell, and POSIX-style “shell scripts” (like Bash), of course I want to help other students in class who had environment setup problems. I volunteered throughout the Applied sessions until you guessed it—I became the teacher in class talking about those quirks!

There’s always failures behind successes.

Another main types of assignment were “coding assignments” where I had to work on R notebooks and Bash scripts, and honestly, I didn’t perform well.

Of course, students can discuss with the teacher who marked their assignments, and I had a case when my marker miscorrected my grade after confirming I have done parts that were requested in my assignment and should be awarded more marks:

Hi,

I think you've made a mistake of updating my marks. The final marks presented on Moodle are out of 15.00 (based on % of overall unit grade), not out of 41 (based on Assignment Brief).

If 1 mark was added to 9.88 / 15.00 (26 / 41), the updated score should be 10.24 / 15.00 (27 / 41). [Instead of 10.88 / 15.00.]

Thank you.

Thank you for your honesty and for letting me know. I changed it to the correct final score.

At that time I was afraid that I could also got lower marks from other assignments, including the one which I later got 95%. So thank God that when I truthfully reduced my final score by 0.64 / 15.00 (4.23%), I instead received a new grade of 95% in the latter assignment.

Recycling a recycling project into *that* High Distinction assignments.

Now, back to the main data science project that gained such a high score. With my not-so-Baseline modelling, the teaching team were concerned that this project might be only limited to software engineering and systems improvement, instead of what they usually expect on how data science could transform in social and business applications:

  • Agriculture
  • Education
  • Healthcare
  • Job market (e.g. job trends and employee upskilling)
  • Manufacturing
  • and so on.

Meanwhile, I was also interested to create a community recycling website project, based on the Jakarta municipal government’s recent mandate on recycling and waste segregation (jakartaglobe.id) based on insights from the Australian consumer recycling case.

In Australia we already have some standard industrial label including PREP/ARL, but Indonesian manufacturers still rely on older material identification codes, especially ASTM Resin Identification Code (RIC) and EU Directive 92/64/EC, which extends the numeric codes to include non-plastic and mixed materials.

But the more I look over existing recycling instruction labels from the original How2Recycle (Canada, United States), info-tri (France), OPRL (UK), and PREP/ARL/L4R (Australia, New Zealand, Singapore)…

A selection of different recycling instructions from PREP, How2Recycle, L’info-tri, and OPRL. The image displays each instruction variant of “Store drop-off,” “Designated drop-off,” and “Recyclable in select locations,” in a tabular format.

The more you likely to see a resemblance with Baseline for web developers, be it “widely available”, “newly available”, or simply “not Baseline”.

To the FIT5145 teaching team and others, I am very interested to extend this original research in the near future. After all, Google was invented as a university thesis project on software engineering. However, I am also concerned with the academic integrity arrangements with the submitted work, so it might take a little while before I can further reveal the insights that make this project a really High Distinction.

A preview of the first three slides of the Beyond Baseline project that was submitted as part of a FIT5145 assignment.

Keep predict()-ing, Shifters!

Realising that my final score for the FIT5145 course unit exceed my expectations, I feel it’s my moment again to:

  1. look after topics or projects that feel unknown at start,
  2. then I predict() for my success,
  3. before I suddenly make myself into that success.

And at the end, we’re going to call this pipeline as the “Shift”. We’re going to have more of this Shifts as I am approaching my final semester at my Master of Cybersecurity course, Shifting the last groupmates to unexpectedly get an HD.