Randy Pausch:
Randy Pausch was a professor of computer science at Carnegie Mellon University (CMU). He became widely famous after giving his "Last Lecture". The reason this was significant was because he truly thought this might've been his last lecture, as he had just discovered he had pancreatic cancer. With the notion that he only had 3 to 6 months left to live he gave it his all. He managed to live on an additional 2 years after the discovery. During that time frame he had given numerous other lectures, but the one I will be talking about will be his "Time Management" lecture given at the University of Virginia. 5 important points he made during this lecture really resonated with me:
Theory of Computers:
  • What is a decision problem?
  • A decision problem is a problem with a yes/no answer. An example of such a problem is “Is 9 an even number?”.
  • What does it mean for a decision problem to be decidable?
  • To be decidable a decision problem needs to be able to be solved through an algorithm. There is also something known as the Turning Decidable; it is taken in the terms of the Turning machine as it's meant to halt with a yes/no response to every given input.
  • What is class P? What is class NP?
  • Class P are problems which can be solved in polynomial time, while class NP are problems which are verifiable in polynomial time. All this is to say that class P are easy to solve and class NP are easy to verify. The game Sudoku is a good example of an NP class problem
  • What is the intuitive meaning of "P versus NP" question?
  • The P versus NP question states that every problem that is solved by class P is also solvable by class NP.
  • If you resolve the P versus NP question, how much richer will you be?
  • If you manage to solve the P versus NP question, it seems that you'd be 1 million dollars richer.
    References link 1 link 2 link 3 link 4 link 5 link 6

    Security:
  • Qatar News Agency (QNA):
  • The Qatar News Agency's website was hacked in 2017, right before the Qatar and Quarlet conflict. The hacker posted a false news report regarding the Qatari Amir referring to Iran as a "superpower", praising the Hamus and statinging that President Trump would be in power for long. QNA immediately removed the story off and shut down their website. At first it was believed that the culprit were a group of Russian hackers. The FBI were sent on this case to Qatar to help the government; they had tracked down the hacker who were said to be in the UAE. It was then announced on August 26th that five individuals involved in the hacking were found in Turkey and arrested.
  • Qatar National Bank (QNB):
  • The Qatar National Bank has hacked in 2016. The hackers had leaked customer data online. This 1.4 GB of data consisted of the following customer information: bank credentials, telephone numbers, payment card details and date of births. A security engineer, Omar Benbouazza analysed the leaked information and found that the various IP addresses and administrators details led right to QNB. Later on a user name '@bozkurthacker' claimed to have committed this serious offence. Using this accounts profile picture (The Grey Wolves) the hacker were found. They were a group of Bozkurt Hackers based in Turkey.
    References link 1 link 2 link 3

    Natural Language Processing:
  • Name 3 applications on Natural Language Processing
  • Sentiment Analysis Auto- correct Speech Recognition
  • Select three words in your language and for each word try to separate into its internal component. (e.g for English If I chose unbelievable I would break it as un-believ(e)-able)
  • Con-tag-(i)-ous Re-con-cile Com-pound
  • Select three sentences in your native language (but please write it in the closest latin transcription). Your sentences should be around 10 words. Translate these sentences to English)


  • He ran too fast for us to catch up with. Wo bohat taiz bahgraha tha kay hum us kay pass nahi pounch sakay.

    Sara did a good job cleaning the car. Sara nay gari achi saaf ki thi.

    My friends and I are going to the park today. Meray dost or mai aaj park jaain gay.

  • How many interpretations are there for the following English sentence "Time flies like an arrow" Write each interpretation descriptively?
  • There are four interpretations of the phrase “Time flies like an arrow”.

    - Time moves fast like an arrow.

    - Time moves like an arrow does

    - Flying insects called “time flies”, like arrows.

    - Measuring the speed of a fly like measuring the speed of an arrow

    References link 1 link 2

    Programming Language:
  • Why did we move from punch cards to programming languages? What does that tell you about the purpose of programming languages?
  • We moved away from punching cards, because if there happened to be any typing error when punching the card, the whole program would have to be rewritten. Another important reason for the shift was due to the density of the cards. The cards were heavy and the process of typing was also extremely time consuming. Hence, this tells us that the purpose of programming languages is to tell the computer a set of commands and concisely and efficiently as possible.
  • There are hundreds of different programming languages out there. Why do you think we need so many?
  • One of the most important reasons for we need so many programming languages is because some languages may be better suited for a task than others. Other reasons include features such as being beginner friendly or simply the look or style of the language.
  • What are some drawbacks of a programming language you use? How would you like it to be different? Think of specific examples.
  • Some drawbacks of using Python include: runtime errors, syntax errors, database access and not memory efficient. I’d personally like python to be able to be more lenient of it’s syntax errors like C.
  • If you were going to create a new programming language, how would you start? What do you need to define?
  • Before doing anything first I’d need to build a complier and include a parser, resolve symbols and validate trees. Next, I’d need to create a standard library for the language in which I’d define the basic elements in any language: input, output, looping and conditionals, arithmetic operations and variables and data structure.

    References link 1 link 2 link 3

    Robots and AI:
  • How do you define AI?
  • AI stands for Artificial Intelligence. It can be defined as the process of recreation of human intelligence by machinery, typical computer based.
  • Can you name at least three different sub-fields of AI?
  • Some sub-divisions of AI include: robotics, natural language processing and machine recognition.
  • AI has been around since about 70 years so far. Why is it booming right now?
  • The reason for the sudden increase in attention to AI is due to the increase in technological advancements of today. 70 years ago many operations would not have been possible without things such as increased data volume, advanced algorithms, improvement in power and storage like we have today. These challenges had to be overcome first before AI research could really begin.
  • Can you name at least three application sectors where robots are being largely employed? What are the reasons?
  • Three sectors are: 1. Healthcare: Robots are more analytical and precise than humans and so would be able to carry out procedures such as surgery and rehabilitation. 2. Agriculture: Robots in agriculture help increase productivity and do tasks at a much quicker pace than a human would be ale to do. 3. Manufacturing: Robots help increase productivity and efficiency of time consuming tasks while also decreasing productions costs.
  • Can you identify three major challenges for a wheeled autonomous robot performing a 24h surveillance task in a large facility? (e.g., something like Mall of Qatar)
  • Three major challenges for wheeled automations can be : 1. Noise: The noise can be disturbing to the passbyers within the facility 2. Cost: Too expensive to be running on machinery alone unless the profit outweighs the initial investment 3. Expertise: Expertise it producing multiple of these types of automations is scare

    References link 1 link 2 link 3 link 4

    Embedded Systems and CS Education:
  • What is the difference between a microcontroller and microprocessor?
  • The difference between a microprocessor and microcontroller is that a microprocessor is the heart of the computer system, whereas the microcontroller is the heart of an embedded system. Another difference is that a microprocessor needs external connection to memory and I/O components, while a micro controller already contains these things within itself.
  • What are realtime systems?
  • A real time system is an operating system that serves real time applications, processing data as it enters without any buffering. Hence, a real time system has time constraints.
  • What is a control system?
  • A control system is a system that provides the wanted action by controlling the output. The output is the controlled by a varying input.
  • What are intelligent tutoring systems?
  • A intelligent tutoring system is a system that provides instructions and feedback to its learners. The “intelligence” of this system comes from 4 main components: knowledge base, student model, pedagogical module and user interface.

    References link 1 link 2 link 3 link 4