Skip to content

michael-lam8/ICS4U-Portfolio

Repository files navigation

ICS4U Portfolio

This repository contains a website portfolio for top assignments completed for the ICS4U course.

Interview Prompts

6. Summarize your experience with Khan Academy.
Khan Academy provides a foundation for learning the basics of many subjects, including computer programming and computer science. More specifically, it provides learning material in regards to general computer science, web development, and data management. Although their content starts with the basics, providing visual and audible tutorials and guidance, it also allows for further engagement with more advanced concepts. For example, students can begin learning programming with the Intro to JS: Drawing & Animation course, then later apply their skills and enhance their learning with the Advanced JS: Games and Visualizations and Natural Simulations courses. Khan Academy also provides numerous resources at the end of each course to guide students towards additional learning.

In regards to my personal experiences with Khan Academy, I have learned a lot of material that I would not have personally. Although I had already completed Intro to JS: Drawing and Animation, Intro to HTML/CSS: Making Webpages, and Advanced JS: Games and Visualizations during the ICS3U course, I did find them to be a very useful and resourceful starting point for learning and practicing the languages and computer science concepts at the time, especially with its tutorials and projects. This year, I have continued on Khan Academy with learning additional content. This is most notable with data management using SQL, as well as computer science concepts such as asymptotic notation. Khan Academy has also taught me numerous languages and concepts that I have applied in my assignments and personal projects, including the summative portfolio and my Discord bot.

7. Summarize your experience with freeCodeCamp.
As with Khan Academy, freeCodeCamp provides an extensive resource for learning how to code. It similarly introduces the basics and continues with advanced programming, building towards the achievement of a 300-hour certification. That being said, freeCodeCamp teaches differently than Khan Academy. While Khan Academy provides guidance and a visual and audible tutorial that can be followed along, freeCodeCamp is textual and more concise. Given its more technical nature, freeCodeCamp may be more suitable towards those who already have prior experience with programming.

With regards to my experiences with freeCodeCamp, I have completed three modules: Basic JavaScript, ES6, and Object-Oriented Programming. I found these modules to be an excellent refresher on the foundations of JavaScript and object-oriented programming. With more advanced lessons compared to Khan Academy, I also learned of new syntax, such as the instanceof operator, and limitations imposed with older versions of JavaScript. In particular, the ES6 module has helped me better understand newer syntax and conventions that I have used in my Discord bot when following documentation, such as template literals. I appreciated the technical nature of its environment as it could be useful for future discussions and research.

10. How can art help guide you through learning about programming and computer science?
Art can guide many through learning about programming and computer science in numerous ways. Creating programs with art can be more engaging than, for example, creating text-based price calculators that is typical of beginner programming tutorials. Creating visual programs would not only keep students interested, but it also allows them to more easily experiment with coding. This would hopefully lead to better understanding and further learning as they think of more advanced visualizations. In addition, it may also appeal to those who may have not thought of trying programming and learning about computer science, especially art students.

Similarly, art has guided me through learning more about programming and computer science. As Khan Academy uses the ProcessingJS library to introduce JavaScript and coding to students, visual programming was the primary method that taught me the language and other computer science concepts. I found the use of the library and projects to be more appealing and engaging than the typical assignments that are primarily text-based. Most notably, visual programming has helped me learn and better understand the concept of object-oriented programming. This is important because it is a widely used concept in the industry, spanning multiple languages such as Java. The concept was eventually applied in detail in our 2D Raycasting Coding Challenge.

Michael Lam
ICS4U

About

A website portfolio containing top completed assignments during the ICS4U course.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors