About Me

I am a student at Carnegie Mellon University in Qatar.

Calender

I use Google Calender as my default calender. You can view my calender linked above, which consists of all the classes I take at university, along with homework due soon.

Resume

I am actively working on building up my Resume, you can view view it here .

My Work

These are my work for the course Freshmen Immigration.

Theory of Computation (Prof. Christos)

In light of the topic theory of computation, the decision problem will provide an output that will answer "yes or no" for a given problem/input. An example of a decision problem is the "Hamilton Path Problem."

For a decision problem to be labelled as decidable, the algorithm must be able to answer "yes" or "no" for that given problem.

P stands for polynomial time, and NP stands for non-deterministic polynomial time. This highlights the amount of time it takes to solve N or NP problems. P problems are easily solvaed and recognized. NP problems are more complex and are only solved through trial and error. The heart of the issue attempts to convert an NP problem into a P problem. If you resolve the P versus NP question, you will receive $1,000,000 from the Clay Institute of Mathematics.

References:

  1. Khan Academy Video (2018)
  2. Clay Mathematics Institute (n.d)
  3. BigThink (2019)

Security (Prof. Riley)

Data is one of the most valuable assets an indivudal, organization or government can own. Therefore, it is necessary to protect that data. As we will see below, sometimes, we fail to do so.

On 23rd of May 2017, a cyber-attack was executed and the hackers managed to break into the Qatar News Agency’s network and had “gained full control of the system.” They published “fake stories” (Al Jazeera, 2017) and committing other immoral acts. These hackers managed to gain access to the network due to a loophole in the system. Hackers usually use DDoS (Distributed Denial of Service) attacks or other tools such as Kali. Malicious attacks like these impacts the “security, peace and stability” of the country (Ministry of Foreign Affairs, 2020). So, Qatar investigated, with the aid of the experts, on where this attack was originated from and concluded it was from the UAE due to their IP address. Further measures in protecting network systems has been taken.

On 26th of April 2016, Qatar National Bank (QNB) receieved an unexpected attack from hackers. Those hackers managed to leak sensitive information to a site called "Cryptome" and many analysists believe the data to be accurate. Although detaila are left out on how the hackers managed to accomplish this, one can assume they achieved it through exploiting vulnerabilities in the system. The customers of the bank and QNB's reputation were impacted. However, even if someone manages to gain unauthorized access to login details , QNB has an extra privacy feature which requires a PIN code after entering the username and password. QNB stated that they were investigating the issue to verify the claims. ISMG, however, were unable to verify the authenticity of the claims being made (Bank Info Security, 2016).

References:

  1. Ministry of Foreign Affairs (2020)
  2. Al Jazeera (2017)
  3. Bank Info Security (2016)

Cloud Computing (Prof. Hammoud)

In simple terms, cloud computing delivers data over the internet from any place you may be. This data can range from software to databases to storage. This, however, is not really new technology. It can be considered as branded technology that is based on mainframe computers. The only major difference is now mainframes can join to any device, given an internet connection.

The 3 types of cloud computing are: SaaS, which stands for Software as a Service; PaaS, which means Platform as a Service; and IAAS, which is Infrastructure as a Service (Fingent, 2018).

Netflix, Apple and Instagram are just some examples of major companies that use cloud computing, not to mention Amazon's Web Services. The reason why cloud computing is so common to companies and individuals is the effectiveness of cloud computing. Cloud computing offers:

  1. Security. Cloud computing providers such as Amazon Web Services or Microsoft Azure protect your data with a high level of security.
  2. Speed. Delivery of data can never be faster with cloud computing. This is attractive for many individuals and businesses.
  3. Cost. Cloud computing elimates the need of hardware, software and data centers.

The economy of a cloud computing provider depends on the company. For example, some companies charge a monthly fee whilst others, such as the Amazon Web Services, charge fees based on your usage of that service.

References:

  1. Microsoft Azure (2020)
  2. Fingent (2018)
  3. Amazon Web Services (n.d)

Programming Languages (Prof. Giselle)

The purpose of programming languages is to provide machines with specific instructions to perform particular tasks. Punch cards, invented by Herman Hollerith, fulfilled this need, but not very efficiently. Punch cards took a lot of storage space and were hard to understand. Thus, programming languages offers a much more robust tool for giving instructions to computers, which is why we use programming languages rather than punch cards.

"Over 250 programming languages exist." - Computer Hope (2020). The reason for the existance of many programming languages is due to the different goals and purposes of each programming language; not all programming languages are the same. Programming languages each strive to accomplish specific tasks: for example, it is like asking for why there are so many different fields in mathematics. Each is its own subfield in its own specialization.

A drawback of an interpreted programming languages is, although they may be easier to understand, they complete a program relaitvely slower than compiled languages. An example would be Python being slower than C++.

In his article, "How would I go about creating a programming language?" Tomassetti considers 4 steps involved in creating a programming language:

  1. Paradigms and the syntax must be designed
  2. The need of developing a compiler
  3. Implementing a standard library
  4. Supporting tools like editors and build systems have to be provided

References:

  1. IBM 100 (n.d)
  2. Computer Hope (2020)
  3. Strumenta (2019)

Robotics and AI (Prof. Gianni)

AI is defined as Artificial Intelligence, in which computers or machines try to mimic human intelligence.

There are numerous branches of artifical intelligence, however, I will be mentioning only 3 crucial subtopics: machine learning, expert systems, and robotics.

The reason why AI is booming now is due to advancements made in pattern recognition software, which was only possible due to deep learning, a key area in AI and machine learning.

The first thing that comes to mind when mentioning the major applications of robotics is in the manufacturing industry, exmaples include assembling parts of a car, or doing a paint job. Other major applications of robotics include healthcare and agricultural industries. The reason why numerous robots are adopted in these fields is due to the fact that robots can operate 24/7, don't need to be paid wages, which saves cost in the long run, and aid us in completeing repetitive tasks very efficiently.

Three major challenges of a wheeled autonomous robot performing a 24h surveillance task in a large facility include: needing to move swiftly, recognizing a security threat, and be able to function preoprly without sudden malfunctions.

References:

  1. Search Enterprise AI (2020)
  2. Psychology Today (2019)
  3. Ohio University (n.d.)

Natural Language Processing (Prof. Oflazer)

Common applications of natural language processing include chatbots and virtual assistants, machine translations, and search autocrrect/autocomplete.

Breaking down English words into its internal components help NLP programs to interpret meanings of words. Three examples of such cases include (note these examples are inspired from the 2nd reference linked below):

  1. Unchangeable: Un-change-able
  2. Microbiology: Micro-bio-logy
  3. nonfiction: non-fic-tion

Three sentences in my native language translated into English are:

  1. Arabic: بعد مشاهدة الفيلم الوثائقي الذي اقترح به استاذ خالد، وجدت نفسي أكثر حذرًا من وسائل التواصل الاجتماعي
    English: After watching the documentary Professor Khaled recommended, I found myself becoming more wary of social media.
    1. "بعد مشاهدة الفيلم الوثائقي" <==> "After watching the documentary"
    2. "الذي اقترح به استاذ خالد" <==> "That Professor Khaled recommended"
    3. "وجدت نفسي أكثر حذرًا من وسائل التواصل الاجتماعي" <==> "I found myself becoming more wary of social media"
  2. Arabic: الآن أحلل على المهارات التقديمية للشخص المقدم وأركز على كيفية تطبيق مهاراتهم في عروضي التقديمية بسبب هذه الدورة
    English: I now analyze a person's presentational skills and focus on how i can implement it into my presentations due to this course
    1. "الآن أحلل على المهارات التقديمية للشخص المقدم" <==> "I now analyze a person's presentational skills"
    2. " وأركز على كيفية تطبيق مهاراتهم في عروضي التقديمية" <==> "And I focus on how I could implement their skills into my presentation"
    3. " بسبب هذه الدورة" <==> "Due to this course"
  3. Arabic: لقد انتهت الأفكار لهذه الجملة الأخيرة لكن على الأقل هي أكثر من عشر كلمات
    English: I have ran out of ideas has ran out for this last sentence but it is at least ten words
    1. "لقد انتهت الأفكار" <==> "I have run out of ideas"
    2. " لهذه الجملة الأخيرة" <==> "For this last sentence"
    3. ""لكن على الأقل هي أكثر من عشر كلمات" <==> "But at least it is more than ten words"

The interpretation of the phrase "Time flies like an arrow" really depends on an individual's background, thought process, upbringing etc. However, some interpretations listed here are inspired from the 3rd link below:

  1. "Measure the speed of flying insects like you would measure that of an arrow" - ALl Things Linguistic (n.d)
  2. Time moves by like how an arrow would
  3. 'Time' can be referring to a pet, that when it flies, it behaves ina similar way an arrow would when launched
  4. A physical clock is thrown to fly like an arrow

References:

  1. Analytics Vidhya (2020)
  2. Word Anatomy: Breaking Down Words into Parts (n.d)
  3. All Things Linguistic (n.d.)

Time Management (Randy Pausch)

Randy Pausch (Randolph Frederick Pausch) was an American professor who worked at Carnegie Mellon University. He gave lectures and talks ranging from Time management to Really achieving your childhood dreams. Unfortunately, he battled against pancreas cancer for over 2 years and passed away in 2008. His lectures will remain influencing thousands and millions of individuals around the world.

  1. How to set goals
    1. Ask yourself: what is the purpose of that goal or task on your to-do list?
    2. Ask yourself: what will happen if you don’t do it?
    3. You need to have a plan: Failing to plan is planning to fail.
    4. Break to-do lists into small, easy, doable steps.
    5. Organize your to-do list in a top priority order.
  2. How to avoid wasting time
    1. Reduce the frequency and length of interruptions. This includes email messages appearing. Disable the sound effect for incoming mail.
    2. Be organized.
    3. Have a good sleep schedule to be more efficient.
    4. Do the ugliest thing first. This will keep you motivated to finish the rest of the tasks.
    5. Covey’s four quadrant TODO.
  3. How to delegate to people
    1. Grant someone authority with responsibility. This shows that you trust them.
    2. Don't underdelegate someone. Keep delegating them with tasks till they complain.
    3. Always do the ugliest job yourself.
    4. Treat people well.
    5. Do not be vague when delegating tasks.
    6. Give people objectives and not procedures. Don't tell them how they should do it, tell them what you want and let them surprise you with how they achieved that.
  4. How to deal with your boss/academic advisor
    1. Write things down.
    2. Ask questions like When is our next meeting? What do you want me to have done by then?
  5. Tools to use
    1. Have a filing system.
    2. Have more than one monitor.
    3. Always ask and ask with confidence.
    4. Use inspiration to your advantage.
  6. Dealing with stress and procrastination
    1. Schedule yourself.
    2. Learn to say no (my personal favorite).
    3. Bad time management = stress.
    4. Old saying: Procrastination is the thief of time So, identify why you’re procrastinating.
  7. I enjoyed the talk :)
    1. All these points are a summary of the talk about Time Management by Randy Pausch.

Contact Me

You can't send me an email (will try to fix soon), but you can view my other social network profiles linked in the sidebar :)