Student’s Response – Patrick Handojo

BY IN IB Computer Science 1 COMMENT

Quest of Rosetta, focuses on a young girl named Rosetta. Which one day, is given a task by his grandfather to destroy the evil wizard named Satana, Akylla and the last boss wizard named Ahimsa. Rosetta received a magic book and a small amount of money (25 credits).
During her travel to Camiria, the path leading to mount Peace was blocked by rocks. The rocks fell because of the avalanche that happened that day. When Rosetta walks around town, she met an oldman who questioned her of her objectives. The oldman knew that the book that Rosetta was holding contains a protect spell which can cast a magic aura around the user when activated. Sadly, he did not understand the language of the book and asked Rosetta to come to an oldman in Winkle village to translate the text.
Along the way, a guard informed Rosetta that there is another oldman towards Tyverra Castle and that she should also speak to the guard over there. But Rosetta didn’t felt that she had enough money to continue, so she took a job from the hut and received two. Delivering a cake to the oldman towards the path to Tyverra castle, and to cater straws to the horses at the Tyverra barn.
When Rosetta went to the oldman that ordered the cake, she was paid some tip and asked if she could find his lost grandson for him. Rosetta agreed and went to the barn to finish her job.
At the town Rosetta got paid by the person from the hut for delivering the straws to the horses. But a magic candle and a horn catched her attention, she bought both of the items and left.
Feeling tired that day, Rosetta decided to take a walk along the shoreline, she noticed a cave. When she tried to enter the cave, the darkness would consume all sources of light and it made the cave very hard to explore without proper lightning. Luckily, the candle she bought earlier is actually a magical candle that can negate the cave’s dark magical power.
Inside, she found four boxes and three of them were empty, the fourth one had an important looking key stored, so she took it with her.
Once again Rosetta went to Tyverra castle, she looked for direction and hints by an oldman while doing her duty to the horses. The oldman that she met advises her to look around the west side for an optical illusion that serves as a barrier to a trapped shack. And she did exactly what the oldman said.
The key she found in the cave near the sea earlier seems to open the abandoned shack, when opened, another oldman that has been trapped there for some time surprised and thanked her for freeing him. Inside the shack, she found some money and a bow that radiates a magical aura. Because she did know know what do to, she went back to Tyverra and spoke to the oldman once again.
She purchased an arrow as instructed and a shield from a shop in Tyverra, and went to kill Satana, the wizard that sealed the path to Winkle village.
She shot Satana’s eye with the arrow and she defeated the wizard. She met yet another oldman who translated the book and she bought a magic stick and potion from the village shop. Along the way out, a guard told her about the flame magic power. And then she proceeded to Camiria to bring the translation to the oldman at that town. The oldmanteached Rosetta about the protect aura magic with the book’s translation.
She did what she was told, she defeated Akylla and found another oldman in a house nearby. After talking and asking for advice with her last battle with Ahimsa, Rosetta found the oldman’s grandson, the oldman who ordered the cake from Camiria. She took him back to the cake oldman and was thanked with a sum of money. When she returned to the oldman’s house near Akylla’s battle zone, she was thought the “thunder” magic skill.
All of a sudden, she was teleported into this a small island not far from the shoreline. And there Ahimsa stood before her. But she noticed something weird, the shadow of Ahimsa, is similar to the shadow of a person she knows.
Rosetta’s grandpa stood from the mist, Rosetta asked something concerning of Ahimsa’s whereabouts. Her grandpa replied that she is actually standing before him.
Rosetta couldn’t believe what she was told, she couldn’t, but she must.
Ahimsa destroyed Rosetta’s village when she was just a baby, and killed both of her parents in the process. But he found a little baby girl, who he couldn’t bring himself into killing it. Instead, she raised Rosetta just for this one moment, to fight her.
Rosetta managed to kill Ahimsa with her thunder, during Ahimsa’s last moments. He congratulated Rosetta.


3. The shop owners and the job hut at Camiria are a part of the shareholders in Rosetta, the one guard and the gambling old man represents an alternative to earning or spending money.
4. The game is called a logic game because the core of the gameplay is similar to solving puzzles and gathering items used for the quest.
5a. Because it looks like pokemon on the GBA system, it would most probably be C++.

5b. C++ history
The C++ programming language has a history going back to 1979, when BjarneStroustrup was doing work for his Ph.D. thesis. One of the languages Stroustrup had the opportunity to work with was a language called Simula, which as the name implies is a language primarily designed for simulations. The Simula 67 language – which was the variant that Stroustrup worked with – is regarded as the first language to support the object-oriented programming paradigm. Stroustrup found that this paradigm was very useful for software development, however the Simulalanguage was far too slow for practical use.Shortly thereafter, he began work on “C with Classes”, which as the name implies was meant to be a superset of the C language. His goal was to add object-oriented programming into the C language, which was and still is a language well-respected for its portability without sacrificing speed or low-level functionality. His language included classes, basic inheritance, inlining, default function arguments, and strong type checking in addition to all the features of the C language.The first C with Classes compiler was called Cfront, which was derived from a C compiler called CPre. It was a program designed to translate C with Classes code to ordinary C. A rather interesting point worth noting is that Cfront was written mostly in C with Classes, making it a self-hosting compiler (a compiler that can compile itself). Cfront would later be abandoned in 1993 after it became difficult to integrate new features into it, namely C++ exceptions. The Cfront program also made a huge impact on the implementations of future compilers and on the Unix operating system.

Low-level languages are appropriate for writing operating systems or firmware for micro-controllers (System BIOS/vBIOSetc). Can change almost anything if the code is right.
• Direct memory management
• Little-to-no abstraction from the hardware
• Register access
• Good performance

Most high-level languages are well defined, as are low-level languages, but mid-level languages tend to be a bit difficult to understand or program. Sometimes it is easier compared to something like low-lever assembly.
This is really the level at which virtual machines start to become common-place. Java, Scala, C# etc all use a virtual machine to provide an execution environment. Thus, many mid-level languages don’t compile directly down to the metal (at least, not right away) but represent a blurring between interpreted and compiled languages. Mid-level languages are almost always defined in terms of low-level languages (e.g. the Java compiler is bootstrapped from C).
• High level abstractions such as objects (or functionals)
• Static typing
• Commonly used (mid-level languages are by far the most widely used)
• Virtual machines
• Garbage collection (useless files/temporary files)
Easy to reason about program flow/behaviour

HL programmingis similar to mid-level languages which just take the concepts of abstraction and high-level constructs to the extreme. For example, Java is mostly object-oriented, but it still relies on primitives which are represented directly in memory. Ruby on the other hand is completely object-oriented. It has no primitives (outside of the runtime implementation) and everything can be treated as an object.
High level programming is like the “better” version of mid-level languages. After all, people were n times more productive switching from C to Java with all of its abstractions. If that really was the case, then can’t we just add more and more layers of abstraction to increase productivity exponentially?
• Interpreted
• Dynamic constructs (open classes, message-style methods, etc)
• Poor performance (needs more hardware power)
• Concise code (clear)
• Big number of people who use it

6. A function returns a value and a procedure just executes commands.
The name function comes from math. It is used to calculate a value based on input.
A procedure is a set of command which can be executed in order.
In most programming languages, some functions can have a set of commands.

7. Because from the usage of the three levels of programming, one program cannot function without all three factors in place.
8. Low level programming can access hardware that a high level programming language cannot. Its example is the system BIOS which we can access to change CPU settings. Or the firmware revision for a HDD to change the behavior (fixing errors like the clicking sound or improving read/write process).
9. Branching can be used to create much more options and actions that the player is allowed to do. This means that the game can be more exciting and improves the user’s enjoyment. But the more the branches, the bigger the hardware demand is. Because the CPU has to interpret and process much more data from the increased number of branched variables.

10.A compiler converts the entire program into executable code before running, when running the program only the executable version of the code is running.

An interpreter converts the code during run time; it converts the code one line at a time at the time that it is running.

by Patrick Handojo
Cita Hati Senior School IB Student
Computer Science Class of 2014

One Comment