CS3216

Course Title

Software Product Engineering for Digital Markets

Grade

B

Semester

AY23/24 S1

Review

This course is not your typical CS course. Instead of teaching CS, this course teaches the product development process. The prof doesn't teach much, but instead invites external speakers every week to share more about their industry. The first few were about UX Design and how to gather user pain points and requirements. Some lessons were about idea-generation and how to transform bad ideas into good ones (basically the mindset behind idea-generation). There was also a lesson on understanding team-dynamics, where we had an exercise to understand each other's strengths and weaknesses, workflow and behaviours. There were also quite a few startup-related lessons, including how to raise money, and how to scale up the business.

Assignment 1 required us to produce a working prototype of our solution to a problem. It can be any problem, as long as we are able to conduct the necessary research and interviews to validate our solution. This involes the entire design iteration process, starting with identifying pain points, target audience, conducting interviews, conducting user testing and usability testing. So much user testing.

Assignment 2 was about researching a real-world Generative AI product and present it to the class. We were tested on how well we could 'sell' the product, as well as how in-depth our evaluation of the product was. Don't be overly supportive of the product, and be sure to give the negatives as well.

Assignment 3 was abou creating an application surrounding a certain Generative AI model. It can be anything, but the main feature has to be Gen AI. My team did ChitChatChampion, which is an online ice-breaker platform powered by GPT. This was the only assignment I was confident in.

Note that for the first three assignments, you cannot have any of the same team mates. This forces you to work with different people each time, which means that when assignments overlap on the timeline, then you'll have to juggle between the different groups. Feels like 3 courses in 1, just in the first 6 weeks.

After the 6 weeks, it was the final project, where you either work with an external organisation, or work on your own project. This assignment I didn't survive. I got so behind on my deliverables, that I kinda abandoned my team mates entirely. I fessed up to the prof, and he was understanding, but I still fairly got a B. I think I deserved it, as I didn't really put in the effort for the final project.

So if you want to take this course, be prepared to put in the effort. It's not a course where you can slack off, as the deliverables are extremely high. Perhaps the highest out of all the courses in SoC (other than maybe CS3233). Otherwise, in all fairness, it's a top tier course.