Taught by: Dr Mikhail Filippov
Name: Shi Shu Yuan (Telegram Handle: @Shi_Shu_Yuan)
Content (Structure/Organization): -
The module is on the more flexible end. While the individual lessons are structured around some key teaching points/ themes relating to CS concepts like computer hardware, cloud services, machine learning, UI and UX, data, etc, the flow of the lessons are quite dependent on student participation, as the prof often provides google forms to be filled in during class for discussion questions.
On top of this, there are tutorial presentations, where students will share about different technological developments in recent times, which are often very interesting. These take up about 40% of the lesson, so alot of learning is going to take place during these presentations.
Accessibility and Assessment: 5
The module is extremely accessible, as even though it is a "Computer Science" Inquiry, it doesn't actually require one to actually know how to code in order to do well in the module. While I personally already knew how to code a little, I did not do much coding for the module anyway. The technical knowledge on Computer Science concepts are also quite easy to grasp for students with limited technical background as well.
Manageability of Workload: 5
The module's workload would be mostly composed of the personal project relating to any problem that one is interested in, which is divided into 5 separate milestones - understanding the problem, data collection and management, User Interface and User Experience design, Intelligence (the technology behind the solution), and an Overall summary of the project.
Due to the nature of the project being based on one's problem of choosing, the workload can vary quite a bit due to it. However, the prof does heavily focus on the problem conceptualization and decomposition part, and places a large emphasis on the ideation phase. Thus, as long as one communicates their ideas clearly, it should not be a big problem if the execution is not ideal, or if certain features are missing. In particular, the "Intelligence" milestone may sound intimidating, but the prof explicitly states that a partial implementation or prototype is sufficient.
Do also note that the personal project is only worth 25% of total grade as well, but this may be subject to changes in future semesters.
There is also a tutorial presentation component, where students have to make a 15 minute presentation on some recent technological changes or solutions in the real world.
Other than this, the prof mainly communicates over the slack channel. It would be wise to actively communicate one's project updates and queries over the slack channel, as the prof does actively try to address each student's questions and provide them with useful resources.
Presence of Technical Learning:
The primary technical skill that this module focuses on would be on problem abstraction and decomposition: how to break down a specific problem at hand into smaller and more manageable subproblems that can be handled using existing solutions.
Additionally, the professor provides a lot of exposure to online services that can help users with various technical problems, such as image classification using teachable machine or vertex AI on Google cloud services, all of which require no coding.
In class tutorials provide opportunities to tinker with data visualization tools like tableau (the tableau license is provided for the duration of the semester), and the professor also provides avenues for self learning, especially relating to learning new programming languages, through the provision of a Datacamp trial license (and a tutorial assignment to reach 5000xp on it, which is manageable in ~2h?)
Ease/Difficulty of Attaining Grades:
I believe that an A should be very much attainable. The professor is extremely liberal in handing out good grades, with many assignments and tests being graded to be close to 100%.
Learning Value/Recommendation: 5
I think the module's emphasis on problem decomposition is highly insightful, and it has taught me to focus more on ideating over the problems rather than being too concerned about the implementation. I find that this focus is very useful, in whatever problem one is involved in.
The module has also introduced to me many different online services to help with AI related problems as well, and shows me some potential solutions that I can utilize in future projects (e.g. vertex AI and google cloud services).
About the Instructor:
The Prof is quite knowledgeable on the module's subject domain, but due to the accessible nature of the module, he may not necessarily cover the concepts in a very in depth manner during the lectures themselves. One can always reach out to him after class or over slack if one wants more in depth explanations however.
Content (Structure/Organization): -
The module structure is succinctly outlined in the first lecture, where Professor Filippov will state his intended teaching content for each subsequent lecture. Each lecture covers a specific topic in the field of computer science and technology. For the last lecture, Professor Filippov held a vote for students to decide between two possible topics to cover (This topic is an additional bit of content and is not examined in the mid-term and final tests).
Accessibility and Assessment: 5
This module's concepts are clearly taught by Professor Filippov in the lectures. He goes through each concept with many examples and hands-on practices in class and it is easy to grasp even for someone with no computer-related background. There is no coding taught in the module. However, you might need to research simple coding when working on the individual project, but it will not be too difficult.
Manageability of Workload: 5
This module's workload is very light relative to other USP modules. The individual project takes up most of the module's workload, and it is also a relatively light one. Every week or every 2 weeks, students are expected to do a write-up on Slack (which is the platform that Professor Filippov uses to communicate announcements and project prompts to students) regarding the latest project prompt given by the professor. The write-up is relatively short and Professor Filippov mainly seeks to understand students' ideas and helps students by asking further questions to develop the ideas further. There is little homework to be done since the content is all covered in lectures. Professor Filippov does give further readings sometimes but these are optional. However, you will be expected to download a variety of applications on your laptop (such as Tableau, NetLogo, etc.) for use in class so do make sure you have enough storage space for that. These applications will be needed for answering some of the questions in the mid-term and final tests (which are open-book when I took this module).
Presence of Technical Learning:
This module does not directly impart any computer-related technical skills. However, it can act as a foundation for students to become interested in this field and subsequently pick up the skills independently, outside of the module. This module also helps with critical thinking and ideation through an individual project. It can be useful for students who are concurrently taking other ideation-heavy modules such as DTK1234.
Ease/Difficulty of Attaining Grades:
The module's workload and content is relatively manageable. However, this comes at a cost of ease of attaining grades. Getting an A is extremely difficult in this module. I actually obtained a B for this module, despite having a score of over 90/100 for most of my assignments and even getting a 100/100 for the final assignment. It appears that Professor Filippov is lenient and generous with the awarding of marks to students. However, this culminates in a very, very high threshold to obtain an A (you might need a 100/100 on at least half the assignments and tests). Despite the lack of coding in this module, students with computer-related backgrounds will inevitably have a big advantage since the concepts will not be new to them.
Learning Value/Recommendation: 4
I took this module because I felt that it was important to learn some things related to the computing field, given that computer technology will be critical in future technological development. The skills I learnt were shallow and not very in-depth, but Professor Filippov gave us many resources which we can use to further develop our computer-related skills (such as DataCamp). The individual project is also useful in helping students consider various issues, not just in the computing domain, but also in sociological and political fields, where computing can be useful in solving problems. Overall, it is a good module to take for learning something new.
About the Instructor:
Professor Filippov is very knowledgeable in this domain, surprisingly because he actually specialises in Physics instead of computer-related fields. He answers all questions, both in class and on Slack. He also likes to entertain questions after class has ended, and he will usually stay behind for a while more to answer questions from students. He might even ask students to ask him questions over lunch! However, Professor Filippov tends to be a little slow in marking assignments and informing us of our grades. He also tends to take a break on weekends and leave question-answering to the next working day. However, he is definitely an approachable professor and is definitely a good professor when teaching this module.
Additional Remarks:
Although obtaining a good grade in this module is very difficult, I would like to encourage people to at least try out this module to clear the Science and Technology inquiry module basket. There is much learning value in this module, and you get to learn under a very good professor. Getting good grades should not be the main priority. We came to USP to learn outside of our disciplines, and that should be the main aim of taking such modules. To learn. This module is definitely a beginner-friendly one for freshmen and a good introduction to future inquiry mods that one will take in this programme.