Final Self-Reflection – May 29, 2017

Final Self-Reflection – May 29, 2017

This year, and really from the beginning of the year, I can confidently but honestly say that I gave it my all. Even though I had my coding peaks, where I would go home after school and just sit on my laptop coding, I also had times where I barely did any more coding than in class. Nevertheless, I genuinely enjoyed this class. I genuinely enjoyed bonding with some of my friends, as well as seriously benefitting from coding and computer science.

So, this year, in programming, I learned A LOT. Not just a lot, but A LOT more than I expected I would. I learned about the basic use of the Machine, also about building simple games using Scratch. Then I moved on to learn about Swift, starting off by creating my very first sample App. After that, I started to learn about Python. I worked with Codeacademy, and ended up learning a lot through Codingbat. In addition to all this, I learned a lot about myself. I learned that if I really set my mind on something, I’ll be able to achieve it. That’s something I should be reminded of whenever I get too lazy to do something, or whenever I feel like I’m not motivated enough.

It is very unfortunate that you will be leaving Computer Science for HS next year. Loremaster Rellim, you will be greatly missed. Thank you for a truly great year: I really appreciate it.

Thanks again,


Semi-Weekly Reflection May 15th 2017

Semi-Weekly Reflection May 15th, 2017

I definitely believe I gave it my all throughout the past two weeks. I have been mainly working on OrderFirst, the project I had previously mentioned in the last self-reflection. Unfortunately, two days ago, two of the four existing members of the group decided to quit, since they thought they won’t have enough time and aren’t willing to dedicate themselves. It was pretty annoying since I had already spent a fair amount of time getting it ready. But what can I say… I guess these things happen. I decided that I will now focus on the Semester Exam. I will probably do the game, since I can also benefit from it after the exam. If I make a really good game (which is what I hopefully want to do), then I will also be able to let my little brother use it or something.

Also, my english speaking has drastically increased in class. Instead of getting a Language Bogus every. single. class. I now get them about once a week (which really is an improvement). My old goal of working on the project (OrderFirst), as aforementioned, has failed. Unfortunately.

My goal now is to focus mainly on the Semester Exam. I want to review loops, and all the other stuff I learned this year, because I will most probably be working with Python.

I would like to take a minute to genuinely thank Mr. Miller for this great year in Intro to Computer Science. Coming from a school where we had no computers at all, the amount of information I was able to learn this year was tremendous. I love the way Mr. Miller answers questions and explains problems. Thanks!

Semi-Weekly Reflection April 29th 2017

Semi-Weekly Reflection April 29th, 2017

Details: I definitely gave it my all throughout the past two weeks. Even though speaking English might be a slight problem with me, I am working on trying to get less and less language boguses, and want everyone to rest assured that even though I occaisonally speak Arabic, I am almost ALWAYS on task, working on the project. Oh wait, I haven’t told you about it yet: What I’ve been working on in the past two weeks is something completely new. I set my other work aside for the time being, and started working on a new project. A classmate of mine, Mohamed Abo Aiad, started a new project called OrderFirst (the name is still not final, we’re probably gonna change it). It is basically an application that it used to pre-order a meal or drink from one of the food vendors at CAC on campus (coffee bean, greco..etc.) if you’re a bit late to school so you can pick up your food and have it ready as soon as you arrive. He knew I had some knowledge in coding for Apps using Swift and so he asked me if I could help him construct, build and design the App. Right now, we have a team of 4 people working on the project. Some details for the App will be featured below.

Proof: Here I will feature some photos of XCOde, of my project. Also I will leave a link for an interesting article I read about startup Apps:

50 Startups Aimed at Changing the World Join Kairos Society

I like to get ideas on what is new and trending in the market these days, in hopes of one day making a ground-breaking App myself 🙂



Goal reflection: My prior goals of learning cracking and hacking have been set aside for the time being, in hopes of reaching my new goal before the end of this semester.

Goal: My goal for the coming time is to complete my primary stages of work on the App. Since I am not doing it all alone, I HOPE to get it done this semester, but seeing the upcoming workload, I might not be able to work on it much outside of Computer Science class. Thus, I can only hope to finish soon, but it is not guaranteed.

Semi-Weekly Reflection – April 7th, 2017

Semi-Weekly Reflection – April 7th, 2017

Details: For the past two weeks, I definitely gave it my all, but for the first time this year, I feel like I completely failed in what I wanted to do. I continued the Swift Guide 2.0 which is now almost done, but I had a goal which was to learn a little about hacking, and unfortunately, I feel like I now know even less. Actually, to be exact, I achieved both my other goals, just not the Hacking. I am almost finished with the Swift Guide 2.0 and also I am working on my personal website right now. I inspired my friend Seif who is now also making his own website and I am helping him with it. However, in Computer Science class, I don’t really work on the website. I work on learning new things about Swift which I will include below.

Also, just on the side: Here’s a funny joke I found about Recursion:

In order to understand recursion you must first understand recursion.
  • Proof

  • Goal reflection: As aforementioned in the Details section, 2 out of my three set goals have been reached. Primarily, I am almost finished and will soon be publishing my Swift Guide 2.0. My other goal, which was to create my own webiste, is also on its way. I started creating my webiste already and it is slowly starting to look better, but I am not working on it in class. My goal to start learning hacking has been resultless so far. I don’t really understand most of the articles and I think I’ll start watching YouTube videos on how to hack.
  • Goal: My goal for the next two weeks is to actually properly understand and learn Hacking! Since it really isn’t very easy and I wasn’t able to do much over the past two weeks in terms of Hacking, this is what I want to do now.
  • Plans? This might seem a little bit strange, but something I noticed wastes a good 6 minutes of every class, which is about 7.5% of class time, is me picking out the songs I’ll be listening to (often with Mahmoud). Unless I am watching a YouTube video, I always like to listen to music while programming or working on anything. In order to limit and lessen the time I spend actually picking out the songs, I’ve created a playlist which I’m just going to start using from now on.

Semi-Weekly Reflection – March 23 2017

Semi-Weekly Reflection – March 23rd 2017

Details: I gave it my all throughout the past two weeks. Mr. Miller gave me editing privileges to Gnimmargorp so I spent some figuring out how to work with the Divi Builder, and after that I created the page called Hashem’s Guide to Swift and edited the content of my Playground to have it fit and work for anyone to use.

Also, after seeing that WordPress is so easy and cool, I got really interested in making my own website. I downloaded WordPress and I am currently working on making my own website. Even though this is not really related to computer science, I am working on it at home but I thought it would be worth mentioning here.

Apart from that, I wanted to start learning how to do hacking, and maybe even cracking at some point, and I have already started reading some articles on it.

Finally, I am working on the new Swift Guide which I will update on the website as soon as it is done. I am always updating the new Playground as I go in order to not forget the things I learn in Swift.

  • Proof:

(this is the main article I started reading – and still am, that is related to hacking)

Hashem’s Guide to Learning Swift

(this is the page I created on Gnimmargorp – Hashem’s Guide to Swift)

– Also, I thought it was worth mentioning that I got some feedback on my page from two people, which I found very interesting and appreciated a lot. They mainly told me it was very helpful and good, but I also got some productive criticism and tips on things I am changing in my new one.


  • Goal reflection: My prior goal, which was to work on the App is still in progress, however, since its taking a long time, I am working on many other smaller projects in between. As aforementioned, I am building my website AND I also have a new project I am working on. I want to learn how to become a hacker. I find it really cool (but sort of scary) that my friend was able to hack in to my YouTube account in a few second. So, that’s something I want to learn how to do. I visited the website Mr. Miller left for us. I know hacking is not about getting into people’s accounts and ruining things, but it is still something I would want to be able to do. And since we’re in Computer Science class, I thought why not do it now?


  • Goal: My goal for the next two weeks is to work on my two side-projects (the website and hacking) but my ultimate goal is still to work on the App. I read articles every few days on building Apps and stuff. I will include some of the articles in the ‘Proof’ section. Cracking is different from hacking but I wanted to learn both, since they are very interesting.


  • Plans? It’s kind of funny that two of the four samples in the ‘plans?’ sections are things I am doing. I am definitely going to continue what I have been doing so far (see the goal section) AND I am also going to be a hacker soon.. Hahaha. See the goal section for the rest of the information.

Semi-Weekly Reflection, March 2 2017

Semi-Weekly Reflection, March 2 – 2017

As previously mentioned in the last Codex Reflection, I completed the basics of Recursion and got back to building the App. However, whenever I came across a cool Recursion problem, I’d check it out (there was a nice one that Mr. Miller showed me in class). Nevertheless, I got back to XCode and read through my self-made Swift Basics Guide (which btw I would be willing to give anyone who might want to start Swift. I combined all the stuff I learned into one ‘Playground’). So, while refreshing my memory with Swift, Mahmoud told me he was interested in learning Swift so I advised him to download XCode and I told him I would give him the Playground I had created. Also, I thought it could be a good idea because he could then help me out with the easy, yet time-consuming elements in creating an App.

Anyway, after refreshing my memory with Swift, I started a basic App with him called my old phone. There is a template for it online which we used because it is a good help for beginners. I taught him about the basics but I won’t be doing that every class because I want to excel myself. I also read two articles that I will link below on tips and tricks to making a functional App that I found very interesting.

Thus, I gave it my all this time as well, and I believe that with more work, a bit of help from Mahmoud (and hopefully less science and math homework) I will be able to get a good App up and running soon. That’s my goal.

Unfortunately I can’t link XCode Playgrounds or Workshops because its an App but I would gladly give my playground to anyone wanting to start Swift. ALso, here are the links for the Articles I thought were pretty cool:

11 tips for developing a mobile app that users will love





At the beginning of year I had no previous experience in Coding. Thus, I never would have thought that I would be able to make an actual App, or at least, get started with one. That’s why I really love how when you are dedicated to doing something, you can see how easy it becomes. I encourage anyone who wants to start programming to definitely go with Swift, like I did.

Recursion – Codex Post

Recursion has something to do with infinity. I know recursion has something to do with infinity. I think I know recursion has something to do with infinity. He is sure I think I know recursion has something to do with infinity. We doubt he is sure I think … I can go on forever with this example of a recursion from natural language. Recursion is not only a fundamental feature of natural language, but of the human cognitive capacity. Our way of thinking is based on recursive thinking processes. Even with a very simple grammar, like “An English sentence contains a subject and a predicate. A predicate contains a verb, an object and a complement”, we can demonstrate the infinite possibilities of the natural language. Stephen Pinker phrases it like this: “With a few thousand nouns that can fill the subject slot and a few thousand verbs that can fill the predicate slot, one already has several million ways to open a sentence. The possible combinations quickly multiply out to unimaginably large numbers. Indeed, the repertoire of sentences is theoretically infinite, because the rules of language use a trick called recursion. A recursive rule allows a phrase to contain an example of itself, as in She thinks that he thinks that they think that he knows and so on, ad infinitum. And if the number of sentences is infinite, the number of possible thoughts and intentions is infinite too, because virtually every sentence expresses a different thought or intention.”


Semi-Weekly Reflection, February 16th

Semi-Weekly Reflection, February 16th

  • In review: I definitely gave it my all in the past two weeks. I had a great opportunity to find some amazing websites where you can interact with others to show you real-life usages of python recursion problems. I also downloaded read life codes from other people through the webiste that MR.MILLER gave me and have been reading them to identify recursion problems within them. I am VERY HAPPY because I reached my goal of finally understand what Recursion is and WHEN and WHY and HOW to use it. (shoutout to Mr. Miller!!)
  • Imagery: Sources through YouTube:
    • and also:
  • Goal reflection: My prior goal of reaching a basic level of understanding Recursion has definitely been REACHED!! I am very happy with the results, to be honest. I now understand principles and can identify recursion within codes.
  • Goal: My new goal, since I know pretty much covered the basics of Recursion and its main principles, and I did many examples, is to get back to the APP. I have been doing other things lately (Recursion).
  • Sources through YouTube:
    • and also:

Semi-Weekly Reflection, Jan. 25 2017

Semi-Weekly Reflection, Jan. 25 2017

  • Self assessment: I definitely gave it my all during all computer science classes and also often worked at home to try to achieve the goal I will mention below.
  • In review: In the Boss Challenge (Semester Exam), I solved every single question except for the Recursion ones. I knew I could have stopped when I met the requirements but I wanted to do them all. Since I’m a perfectionist, I didn’t like the fact that I couldn’t solve the Recursion problems, and thus, have been working on understanding the basics and trying easy problems. I made sure I started at the beginning and understood everything I came across before moving on to more challenging things. Since there isn’t much to be found on Recursion for Python (much less for Swift), I do some of the tutorials in JavaScript. I added two links at the bottom (one for each).



  • Goal reflection: My prior goal of studying for the exam and learning the basics of Python has been achieved. I am very happy with my results and the hard work definitely paid off.
  • Goal: My goal for the next few weeks is to extend my knowledge in Python – but specifically Recursion. I want to be able to go back to Codingbat and solve the Recursion problems, as well as new and more challenging ones.
  • Self-guided learning: All three Resources I attached in my Imagery section were very helpful to me.

Semi-Weekly Reflection, Dec. 1st

  • Self assessment: I gave it my all since the last time I wrote a reflection. Not only in terms of the work I got done, but also the speed of learning something completely new *see below*
  • In review: In preparation for the Boss Challenge (semester exam), I learned a completely new language in two weeks. I have admit, it’s pretty similar to Swift, but there was still a lot I had to review before the exam. I used Codeacademy to learn Python and then did a bunch of the review questions, or challenges, or Codingbat.
  • ImageryScreen Shot 2016-12-07 at 12.17.04 PM
  • Goal reflection: I haven’t been working so much on the App lately, but that is only because I wanted to direct my focus towards Python for the time-being, and not get confused by the two.
  • Goal: My goal once again has been resumed and I will start working on the App again.
  • Self-guided learning: