top of page

CM3267 - COMPUTATIONAL THINKING AND PROGRAMMING IN CHEMISTRY

Academic Year 23/24 - Semester 1

 

Assessments:

  • In-class quiz participation: 5%

  • Python pre-labs: 5%

  • Coding Assignments: 15%

  • Spectrophotometer Project: 30%

  • Weather Station Project: 15%

  • Finals: 30%

Lecturer: Dr Michael Yudistira

​

Course Overview:

  • Chemometrics (Design of experiments and mathematical tools, Factorial, composite, and mixture designs, Analysis of Variance (ANOVA), Leverage, Principal Component Analysis (PCA))

  • Python programming and electronics (I/O, format, variables, operations, if, for, open, Numpy arrays, Matplotlib plots, Functions, Raspberry Pi and its modules, DC circuits, LEDs, photodiodes, ADCs)

​

Difficulty of the course: Average

Pace of the course: Just Right

Duration provided to prepare for tutorials: >7 days

 

Workload of Course (Average number of actual hours spent per week)

To learn the content: 3 hours

To complete assignments: 5 hours

​

REVIEW

What advice would you give to someone considering to take this course?

 

Anonymous: Having prior programming experience would definitely help make this course easier as then the main content to learn would be the chemometrics section. That being said, there is a significant portion of the class that has no programming background. In general, the code parts are heavily guided, and the main challenge for beginners would be to understand the code to adapt to the different questions (which basically only differ in context but the approach would be the same). Dr Mike is also very open to students asking for assistance, so I don’t think the lack of programming experience would be very big of a concern.

On the other hand, this course is not solely about programming, and I feel the chemometrics content might not be something that pure CS students would come into contact with. Hence, even if you are of a very strong programming background, do not expect to have a very chill ride across the semester, as there would still be content that you would have to put in effort to learn.

​

What did you enjoy or find most useful from this course?

 

Anonymous: The chemometrics content is very useful and relevant to research and industrial applications. In fact, many questions he gave were inspired by data from actual research papers.

While some of the content is based on mathematical foundations, Dr Mike scaffolds the content pretty well such that we only need to know the essential math behind the content to avoid overwhelming us. He does it in a very layman manner, explaining technical terms as much as possible, so it was relatively easy to follow the lectures. Coupled with his humour every now and then, I found the lectures really interesting.

 

What aspects of the course did you find most challenging, and why?

 

Anonymous: The projects are much less guided, and the time allocated especially for the spectrometer project is quite short. Dr Mike does acknowledge the tight deadline for this project, and I would suggest that it is best to lay out your main goal for the project in the earlier stages to avoid wasting time unnecessarily. Reviewing your objective for the project with Dr Mike can be a way to see if you are on the right track.

On a side note, the projects are done in pairs (or a trio if the class is odd-numbered).

 

What resources did you find most helpful in helping you better understand the course material?

 

Anonymous: Dr Mike provided supplementary readings but I never used it. In terms of chemometrics, I think he did an excellent job explaining the content. For coding wise, I don’t know if the reading would help as I already had prior programming experience.

​

What other courses do you think should be taken before or concurrently with this course?

 

Anonymous:  As mentioned, it would be great to have programming experience, but it is not essential either.

​

​

bottom of page