0

Unit III: Essential Questions

Back-to-back content! I'm here following up with the next unit's essential questions. With the end of the quarter been early October, we have gone through about two more units.

1. What is block-based programming?

  • According to the Scratch Wiki, block-based coding, sometimes known as block based-programming, is coding within a programming language where instructions are mainly represented as blocks. One example of a block-based programming language would be Scratch.

Image from scratch.mit.edu 

2. How do abstractions and layers of abstractions enable smooth user interface creation in a game?

  • Integrating abstraction and abstraction layers can allow player to move around the camera (zoom in and out) of a game, and able to let them feel more smooth during gaming, specially in 3 dimension games.  Also abstractions can allow programmer to separate layers of abstraction to deal with.


3. What components make an effective game?

  • According to Grace Li from Game Skinny, components such as a solid story, attractive visuals, intuitive controls, worthwhile long-term goals, a good soundtrack, replayability, interesting and engaging game mechanics, all the shill possessing originality and consistency.

0

Unit II: Essential Questions

Another month another unit, here we go!


1. How are flowcharts and pseudo code useful in program design and planning?

  • They are useful because they serve as a fundamental step in the conceptualization of any program. By writing or drawing your code before encryption, it gives one a bigger picture of the scale of the project and any possible obstacles such as bugs. An example of a flowchart can be seen on the right.


2. How are layers of abstraction represented and developed in programs?

  • According to Luciano Floridi and J.W. Sanders of Oxford University and University of Bari, computer science commonly presents levels (or, less commonly, layers) of abstraction, wherein each level represents a different model of the same information and processes, but with varying amounts of detail. 
  • Each level uses a system of expression involving a unique set of objects and compositions that apply only to a particular domain. Each relatively abstract, "higher" level builds on a relatively concrete, "lower" level, which tends to provide an increasingly "granular" representation. For example, gates build on electronic circuits, binary on gates, machine language on binary, programming language on machine language, applications and operating systems on programming languages. Each level is embodied, but not determined, by the level beneath it, making it a language of description that is somewhat self-contained.


3. What is a computational artifact?

  • According to the University of Rhode Island, a computational artifact is anything created by a human using a computer. An artifact can be, but is not limited to, a program, image, audio, video, presentation, or web page file.


4. How are programs created to solve problems?

  • Programs can be created to perform the following steps in order to solve certain problems: information representation, an algorithm, encapsulation, abstraction/complexity hiding, or even brute forcing. 
Image from webbiquity.com