Reflction on Learning
Computational Thinking Guide Notable Individual Biography Reflection on Learning

REFLECTIONS

P ersonally, after studying this module, I first realized building a website is not a hard task which is used to be an unachievable task for me.

Building a nice website requires mastering a series of basic programming languages and syntax for HTML&CSS. However, merely knowing those knowledges are far from enough to build a formal website. While doing exercises on imitating a website, I found it spend huge time to try out the coordination of each element, (e.g., using margin-left/top:100px to locate an image, I've got to try out each accurate value). Obviously, there should be advanced statements for locating elements (e.g., And I did find "float: right" statement that can easily locate the image right next to paragraph) . Which means, the more advanced statement of a programming language I mastered, the faster and better my project could be completed. Thus, to develop fantastic project in my later courses, I'd go through every commonly used statement before coding.

Furthermore, it's necessary to make clear of the basic logic of each programming problem, and never start coding before going through the logic flow completely. Using a conditional flow chart or pseudo code to get idea into shape, and transfer it into formal programming language. That's the order I'd always obey when programming in rest of the courses.

While learning to write pseudo code, I found there's multiple ways to solve a problem. For instance, print even number from 1-10 can be written as the following code on the right side...

int i=1
while(i<=10)
If i%2==0
print i; i++;

or

for(int i=2; i<=10;i+=2)
print i;

or

print(2,4,6,8,10)

These statements have the same effect, but the later two statement looks obviously simple. When considering of the time complexity, both the first two statement seems stays nearly the same complexity, but far more complex than the third one. In that case, the third statement will undoubtfully be the best one for realizing the requirement. Therefore, when codes are completed, we've got to check out if there's any optimizations.

After deeply understood this module, remarkable impact will also take place on my non-programming courses. When taking my French courses, I'd use CT, first recognize the pattern of the course is language learning, thus I'd think of how I learnt foreign language before, and find I need to master antique vocabulary, rules for grammar and pronunciation, as well as take a trip to France to apply it in daily life.

With taking learning English as an example, I break down French studying into those four parts (vocabulary, grammar, pronunciation, practical apply) , each part has it's unique step to realize...

(e.g. vocabulary)








With each step being successfully completed, mastering a foreign language will no longer be a hard task.

In general, from CMT119, besides the introduction of basic programming languages, these studying skills I reflected and gained in programming will be specifically beneficial to making progress in my later study.