Hello world!
I am currently
working on using technology without getting frustrated😊
Email: eansar@andrew.cmu.edu
Major: Computer Science
Class Of 2025
·
GitHub
·
LeetCode
Assignment #01:
01)
Who
is Randy Pausch and what is he known for?
Randy Pausch
was a Computer Science professor at Carnegie Mellon University in Pittsburgh,
Pennsylvania. He is renowned for his Last Lecture which he gave on September
18,2007, after he was diagnosed with pancreatic cancer when the doctors had
predicted that he had, “three to six months of good health left”. Even though
it was supposedly meant to be a “Last Lecture” but for him it was real – and so
he poured his heart out in the lecture, which due to his sincerity captured
millions of hearts.
The talk I will
be referring to in the passage below, however, is the one he gave in the
University of Virginia in November 2007.
02)
5
points that I liked in his talk:
·
Time and money
are equitable. Start think about time and money as if they are the same thing. I
truly resonate with this because a lot of time people take free time
for-granted and tend to waste it on stuff that will not benefit them in any
way.
·
If you’re not
going to have fun, why do it, right? The end is maximizing fun. This truly
sheds light onto the fact that life isn’t meant to be meaningless, and if that
what yours feel like- there’s a need for change.
·
Multi-tasking:
“And for an hour a day I ride my bike…[t]his is the time I am spending on the
phone, getting work done”
·
When someone
gets a thank-you note, they will remember you. Even though, gratitude is
something that can go beyond cards.
·
You do not find
time for important things, you make it, and you make time by electing not to do
something else.
Lecture#01:
01)What is a decision
problem?
A decision problem is a set of problems
that can be answered as a “yes” or “no” depending on the input values. It
decides if the following problem is provable or not.
02)What does it mean for
the decision problem to be decidable?
A decision problem that can be solved
by an algorithm that halts on all inputs in a finite number of steps.
03)What is the class P?
What is the class NP?
P stands for polynomial, and it
contains the set of problems that are easily verifiable as well as solvable by
a deterministic Turing machine using a polynomial amount of computation time.
NP stands for nondeterministic
polynomial time, and it contains the set of problems are easy to verify in
polynomial time but mostly take exponential time to solve (e.g., sudoku)
04)What is the intuitive
meaning of the “P versus the NP” question?
The P versus NP problem is a major
unsolved problem in computer science. It asks whether every problem whose
solution can be quickly verified can also be solved quickly. E.g., sudoku it is
easier to verify the answer but takes time to solve it especially if the puzzle
becomes bigger, however, verifying it remains relatively easier.
If you resolve the P
versus NP question, how much richer will you be?
At least a million dollar richer!
Reference List:
(n.d.). decidable problem. https://xlinux.nist.gov/dads/HTML/decidableProblem.html#:~:text=(definition),is%20called%20a%20decidable%20language.
Lecture 02:
Research two major
computer security incidents that have happened in Qatar. For each,
describe....
01)What did attackers
break into?
A massive collection of documents from
Qatar National Bank, based in Doha, was leaked and posted online to the whistleblower site
Cryptome on April 26. The leaked data, which totals 1.4 GBs, apparently
includes internal corporate files and sensitive financial data for QNB's
customers.
Another one that was hacked was the
Qatar News Agency (QNA) website which had been hacked by an unknown entity.
02)How did the attackers
break into it?
Cryotome offered no insights into how the
data was obtained, for example, if it was via an external hack attack, or an
inside job. For QNA, the ministry said, “the investigation team confirmed that
the hacking operation used high technology and innovative methods by exploiting
a cyber-bug on the website of Qatar News Agency. The investigation team was
able to identify the sources through which the cyber-attack was carried out”.
The sources, however, weren’t specified.
03)Who was impacted?
The leaked data, which totals 1.4 GBs,
apparently includes internal corporate files and sensitive financial data for
QNB's customers. For QNA, it was a false statement attributed to His Highness
[had] been published,” a government statement said. For QNA, there were a lot
of disruptions with the neighboring countries, where the latter ended up
blocking some of Qatari sites.
04)How was it
investigated?
There were no investigations but the
bank released a statement April 26 that references "social media speculation
in regard to an alleged data breach," saying that "it is QNB Group
policy not to comment on reports circulated via social media." For
QNA, an FBI team had been in Doha for the past week after the Qatari government
asked the United States for help following a security breach by
hackers last month who posted fake remarks on its official media platform, Qatar News Agency (QNA).Two other unnamed countries have also been
speculated in helping Qatar.
Reference List:
https://www.bankinfosecurity.com/qatar-national-bank-suffers-massive-breach-a-9068
Lecture#03:
01)Name 3 applications on
Natural Language Processing.
·
Target
advertising: it’s a form of advertising where adds are catered according to the
user’s online activity. It’s based mostly on keyword matching, where the users
who search for similar keywords are shown relevant adds.
·
Voice
Assistants: these rely on not only speech recognition but also have the power
to understand the syntax, semantics, and the pragmatics of the language.
·
Email
Filtering: where your emails get filtered into either social, primary or spam
etc. This saves us a lot of time and relies on text classifications, which is a
form of natural language processing.
02)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).
بر-یا-نی۔
مو-ٹر سا-ئ-کل
کر-ا-چی
03)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)
Main parhna pasand krti hoon. == I like to study.
Uss Baagh mei bohot pyaaray darakht hain ==That Garden has many beautiful trees.
Mujhe khana khana pasand hai. == I like to eat food.
04)Indicate which words or small groups of
words translate to which words or groups of words in English translation.
Main = I
Bagh = Garden
Pyaaray = beautiful
Darakht = trees
05)How many interpretations are there for
the following English sentence "Time flies like an arrow". Write each
interpretation descriptively?
First interpretation would be considering the word time flies, which is quite common, and it means “time passes quickly”. Hence, the overall sentence would mean that “Time passes quickly, as an arrow flies quickly through the air”.
However, the ambiguity is because of the sentence which
mostly follows it, i.e., “Fruits flies like a banana”. Here it might mean that
you should time the speed of flies in the same manner as you would time the
speed of an arrow.
Reference List:
https://www.analyticsvidhya.com/blog/2020/07/top-10-applications-of-natural-language-processing-nlp/
Lecture #04:
01)Why did we move from punch cards to
programming languages? What does that tell you about the purpose of programming
languages?
The main reason behind this swift switch to programming
languages, is the inefficiency of punching cards. For example, a punch card can
store about 80 characters, and a stack of cards holds 2000 cards. To scale, a
small town would need approximately 15 exabytes (2^60 bytes) of data, which has
a depth of 4.5 kilometers. Hence, the main reason was their long density.
02)There are hundreds of different
programming languages out there. Why do you think we need so many?
According to Wikipedia, there are approximately 700
different programming languages but why do we need so many? The main reason is
because different languages were made by different people, who had different
objectives and so they catered to their needs. Some languages are better suited
for certain tasks, however, most of the syntax and semantics are similar, so
its easier to learn if you have mastered a few.
03)What are some drawbacks of a programming
language you use? How would you like it to be different? Think of specific
examples.
Python is slow-speed language because of its line-by-line
execution of code, thus its not well-suited for applications where speed is the
key. Secondly, it is prone to Runtime errors, because of which the python
programmers need to do thorough testing.
04)If you were going to create a new
programming language, how would you start? What do you need to define?
I need to define its execution paradigm, static or dynamic
typing, performance or readability, its semantics and syntax. I will need to
decide if I want it to be based on already existing languages and what platform
we are using. And then we need to build a compiler. The most important aspect,
however, is to get started. More detailed answer can be found here, https://tomassetti.me/how-to-create-programming-language/
.
Reference List:
https://www.hunterbusinessschool.edu/5-reasons-to-learn-multiple-programming-languages/
https://techvidvan.com/tutorials/python-advantages-and-disadvantages/
https://tomassetti.me/how-to-create-programming-language/
Lecture #05:
01)How do you define AI?
It’s a branch of computer science that relies on
simulating human intelligence to produce machines that can perform tasks that require
thinking like a human. As the word artificial implies, it is the demonstration
of intelligence by robots/machine to perform tasks that are commonly associated
with intelligent beings(humans).
03)Can you name at least three different
sub-fields of AI?
a) Machine Learning
b) Speech Recognition
c) Robotics
03)AI has been around since about 70 years
so far. Why is it booming right now?
AI is much larger than before because of the availability
of good infrastructure speed, faster hardware, and accessibility of expensive
super computers. The huge reduction in the cost and an increase in the
generation of reliable data has led to the surgency of AI.
04)Can you name at least three application
sectors where robots are being largely employed? What are the reasons?
a) Health Care: they make such delicate tasks much more
efficient and allow for minimal invasive procedures in surgeries, limiting the
size and number of incisions.
b) Manufacturing: they lower the production costs all
while increasing the efficiency and quality of products.
c) Agriculture: growing quality food is a tedious work,
hence why robots are taking over this field too.
05)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)
Robots are not good at interpreting human behavior unlike
humans, who are more likely to sense something is off, whereas a robot might
not. A robot might not be aware of what is considered immoral so is less likely
to detect suspicious behavior. Thirdly, a robot might be unable to hear and
sense any verbal cues that a human can.
Reference List:
https://www.britannica.com/technology/artificial-intelligence
https://www.cs.bham.ac.uk/~jxb/IAI/w2.pdf
https://onlinemasters.ohio.edu/blog/5-industries-utilizing-robotics/
Lecture #06:
01)What is the difference between a
microcontroller and microprocessor?
A MCU (Microcontroller Unit) is a
single Integrated Chip (a set of electronic circuits on one small flat piece
semiconductor material) which is used for tasks such as computers, and power tools.
These are the heart of the embedded systems. In a nutshell, they gather
information, process it, and then produce a reaction. A microprocessor is the heart
of the computer system. It’s an electronic component which is carries out
millions of instructions that are described by the computer systems.
02)What are Realtime
systems?
Real time systems are bounded by time
constraints, where if the processing fails take more time than the constraint
then the system has failed. They are meant to process data as it comes in,
without any buffer delays. These delays are measured in short increments of
time, such as tenth of seconds.
03)What is a control
system?
These systems provide desired response by
controlling the output. The output is varied depending on the input. This is
mostly done by using control loops. They mostly rely on a microprocessor which needs
a control program to handle data from sensors. There are two types of control
systems:
·
Open loop
control systems (non-feedback control systems)
·
Closed loop
control systems (feedback control systems)
04)What are intelligent
tutoring Systems?
These are computer systems that mostly rely on AI
technology. These are meant to provide personalized feedback, tailormade
problems and appropriately selected ways of teaching depending on the learner,
all without any human intervention.
Reference List:
https://www.eletimes.com/microprocessor-vs-microcontroller-what-is-the-difference
https://en.wikipedia.org/wiki/Real-time_operating_system
https://www.sciencedirect.com/topics/psychology/intelligent-tutoring-system