"CMT119 Computational Thinking Module" as the first course of Msc Computing, paints a picture of what the world of computer science looks like and how it operates. It encourages us to use Computational thinking to solve real-world problems.
Before the course, I was completely unfamiliar with the concept of "Computational Thinking". As the course progressed, I gradually realised its pervasive presence and importance in our daily life. Computational thinking is not just for programming or computer science. It is a way of thinking about problem-solving, helping us to analyse, evaluate, and find solutions. Through decomposition, abstraction, pattern recognition, and algorithms, I have learned how to solve problems more systematically and effectively.
Through this module, I learned basic concepts in programming, such as the use of variables, the characteristics of different datatypes and how to choose the appropriate datatype, the application of conditions and loops, and the writing and calling of functions. I marveled at human ingenuity in breaking down complex real-world problems into abstract thoughts, writing processes, and algorithms for computers to handle.
Before starting the program, I had always been a computer software user. After entering this module, I learned about the tools that we, as developers, need to use. For instance, how to use the command line in the terminal for interfaces. I discovered that I could use software like Atom and Visual Studio Code as text editors for programming. They support multiple programming languages and are user-friendly for editing.
Previously, I only designed web pages using Photoshop and PowerPoint. But in this module, I learned how to use HTML and CSS to create web pages. HTML is used to structure the content, while CSS styles and formats it. JavaScript allows interaction with the webpage. I used to think the design part was too subjective and lacked logic. But after this module, I found web page creation to be very logical. I had to plan the webpage's structure and framework first, and then use HTML and CSS to implement it.
"Let's get rid of the details!" This is a phrase often repeated by Nico and Daniela in class, helping us avoid getting bogged down in minutiae. In this module, I learned for the first time how to properly use references. The instructors introduced many learning resources, such as Google and MDN.
Learning the basics of programming has laid a solid foundation for my future study of other programming languages. Core concepts like variables, loops, and functions are prevalent in almost all programming languages. Many languages differ mainly in syntax, not in basic concepts. Therefore, mastering the basic concepts in one language can help you learn another faster, saving much re-learning effort.
CMT 119 has taught me a very practical way of learning and problem-solving. I am gradually accustomed to facing daily problems with Computational Thinking, breaking complex issues into manageable parts using decomposition and reconstruction.
Skills like how to use search engines efficiently, how to avoid getting stuck in details, and when and how to correctly reference materials are techniques I will continue to practice and apply throughout my learning journey.
In this coursework, I employed the approach of Computational Thinking. First, I broke it down into smaller problems, then further decomposed those problems into even smaller issues. After pondering, I wrote down the answers and finally organized them into a mind map. This mind map also served as the blueprint for constructing the framework and content of my website. Based on it, I proceeded to design the layout of the pages in PowerPoint, and finally realized my ideas using HTML and CSS. This process allowed me to appreciate the charm of Computational Thinking and logical reasoning.
Mind Map
Layout
The "Computational Thinking" course has opened a new door for me. It has not only enriched my knowledge base but also honed my thinking and problem-solving skills. I realize this is just the beginning. More challenges await in the future, but I am ready to embrace them.