Randy Pausch’s Time Management Lecture Summary and Notes:
Carnegie Mellon University - Department of Computer Science
Who was Randy Pausch? What did he do?:
Randy Pausch was a professor in CMU’s department of Computer
Science. He was diagnosed with end-stage pancreatic cancer. When
researching a bit more about his life, I discovered that he was
the creator of Alice (an educational block-based programming
environment for creating 3D animations (S, n.d.) ).
His lecture was aimed at giving the audience concrete advice on
how to make the most out of their limited time.
Key
Concepts:
Time IS money, and it should be treated as such.
The end goal of managing your time and to maximize fun. If you
aren’t having fun then why do it.
Experience develops over time, especially through bad
judgement and mistakes.
80/20 rule: 80% of the results come from 20% of the work.
Therefore, prioritize what gets you the most value.
You MUST have a system for organizing everything in your life.
From your goals to your tasks and even to your files and work.
The best system is the one that caters best to YOUR needs.
Always make a plan. You can change it later, but it has to
exist before it can be improved.
Find your creative time and protect it. Find your dead time
and do what doesn’t need you to be at your best.
Always make time for sleep
A vacation is a vacation. Don’t spend it checking your emails,
your work, etc.
Prioritize what’s important and what’s urgent, and
ignore/delegate the rest.
Learn to ask. If you want something from someone; the first
step to obtaining it is just asking for it.
Not everything needs to be done perfectly. Some things need to
just get done.
Key
Actions:
Create a plan and a to do list that breaks down big tasks into
smaller, more manageable steps.
Use Covey’s Four-Quadrant to do list to help you prioritize
tasks
Learn to say no and set boundaries.
Monitor how you spend your time (you could set up a time
journal) and then analyze where you can improve.
Cut off distractions by turning off notifications, having
dedicated times for checking your emails, and making it harder
to stray off-task.
Set up fake deadlines and pretend they're real in order to
deal with procrastination.
5 things I found
interesting:
The concept of a collective time famine
The introduction of a time journal as a means of tracking how I
am spending my time.
The 80/20 rule
Treating time as a form of currency and budgeting it the same
way.
Considering the opportunity cost before taking up any new tasks.
Interviews & Study Questions Across Computer Science Sub-fields
Research Domain
Giselle Reis - Programming Languages
Languages
1
Why did we move from punch cards to programming languages?
What does that tell you about the purpose of programming
languages?
The use of punch cards to write code came with various
disadvantages including but not limited to:
Each card had very limited storage which required the use of
multiple cards for a single program.
It was incredibly difficult to reconstruct a program if any
accidents occurred.
In order to fix a simple mistake you would need to rewrite
the whole card.
They can’t be reused and are bulky to handle; therefore,
they were expensive to produce and store.
Easily damaged, lost, or stolen which results in a loss of
data.
The rise of programming languages provided a solution to these
problems. Ultimately, the purpose of programming languages was
making the programming process more efficient by making it
easier for humans to write and store their code.
2
There are hundreds of different programming languages out
there. Why do you think we need so many?
There are hundreds of problems that we need to code solutions
for; therefore, we need various programming languages, each
designed to specifically address each of these problems. For
example, when you need to manipulate and analyze data you
would use SQL and R, languages designed specifically to handle
analyzing large amounts of data. On the other hand, in web
development you would choose a versatile language that can be
used for interactivity and animations such as Javascript.
3
What are some drawbacks of a programming language you use? How
would you like it to be different? Think of specific examples.
Python’s main drawback is its execution speed. Since python
isn’t pre-compiled, its execution time is higher relative to
other languages. This drawback is emphasized in tasks where
you need low-latency and quick execution (such as in
animations and video games). It would be better if python’s
interpreter can be optimized for faster code execution.
4
If you were going to create a new programming language, how
would you start? What do you need to define?
The first thing I would need to define is the purpose of the
programming language. i.e. What problems do I want to solve
with this new language? and What features do other languages
lack that I want to include in my own language?
The second thing I would need to design is the language’s
structure and syntax
Finally, I would program an interpreter that would allow the
computer to understand my language and execute my code.
A decision problem is a task where a given input is evaluated
based on whether or not a property is present. The solution is
always one of two outputs, either true or false.
2
What does it mean for a decision problem to be decidable?
A decision problem is decidable when it has a solution that
can be calculated by an algorithm in a finite amount of time
3
What is the class P? What is the class NP?
Class P and NP are used to classify a problem's complexity.
The P class is the class of problems that can be solved using
deterministiic machines(a machine that returns the same output
for the same input such as our computers) in polynomial time.
P problems are usually easy to compute. NP problems ,on the
other hand, are ones that can only be solved by
non-deterministic machines in polynomial time. This makes them
hard to compute but easy to verify.
4
What is the intuitive meaning of the “P versus NP” question?
P is the set of all problems whose solution can be computed
easily. NP is the set of all problems whose solutions can be
easily verified. NP vs P asks if NP problem's solutions can be
easily verfied then can they also be calculated in polynomial
time by deterministic machines.
5
If you resolve the P versus NP question, how much richer will
you be?
What is human-computer interaction (HCI), and which
disciplines contribute to it?
HCI is a field that aims to improve the interactions between
humans and computers/machines. It combines various disciplines
including computer science, psychology, design, and social
science
2
What is the difference between a system being useful and being
usable? Can you give an example of a system that is usable but
not useful for a particular person or task?
A usable system is one that is easy to use and intuitive to
navigate. On the other hand, a useful system is one that
actually serves a meaningful function/purpose. For example,
let's say you want to build a volume controller. You can
decide to make a single button which you click and it gives
you a random volume. This system is usable. All you need to do
is click a button in order to change the volume. However, this
system is utterly useless as it just gives random volumes and
gives you no control over the actual value, hence rendering it
useless.
3
Find an everyday interface that is confusing to use. What is
the person trying to do, and which design decision causes
difficulty? Suggest one improvement.
One everyday interface that is confusing to use is the dorm's
washing machine's keypad. A person using the washing machine
would want to pick an appropriate cycle for the type of
clothes they are washing; however, a new resident is hindered
by the buttons that are only labeled with random symbols. An
improvement would be to properly label the different buttons
to indicate the appropriate cycles.
4
What is a prototype, and how can testing one with users help a
designer? What is one thing that asking “Do you like it?”
would not tell you?
A prototype is an initial model that is made to test the
product's functionality and design before its released to the
masses. Testing a prototype with users provides the designer
with feedback that would allow them to fix any problems that
they might have not noticed and ensure that the launched
product is actually functional and useful for potential
buyers. Asking "Do you like it?" often prompts a yes or no
answer which doesn't pinpoint areas of strengths nor of
weaknesses.
5
Find one example of interaction beyond a keyboard and mouse,
such as voice input or a tangible interface. Who might
benefit, and how would you test whether it helps them?
A voice control feature on mobile devices. This feature would
benefit the visually-impaired by allowing them to utilize
their phones without needing to see the interface. In order to
test whether this is a beneficial feature or not, I would
utilize the accessibility evaluation tools + user feedback
through surveys.
What happens when the problem you want to solve becomes too
big for any one computer?
Once a problem becomes too big for one computer, we can divide
the tasks on multiple computers connected through a network.
2
Suppose 1,000 computers work together. Do you now have one
computer that is 1,000 times more powerful? Why or why not?
No. Yes the total processing power increases by 1000 times but
other elements such as communication & coordination between
computers, and the sequential nature of some tasks are
introduced and managing these factors reduces the overall
performance increase.
3
Can 1,000 computers agree on something if some of them fail or
even lie?
Yes, today there is a system known as Raft. Raft is designed
to deal with situations where there is failure by reaching
consensus based on the majority not on every individual
computer. A malicious node is combated by Byzantine Fault
Tolerance Protocols which also select the decision based on
the majority but they recognize that some computers might be
malicious and account for that.
4
When you use ChatGPT, Google, Instagram, or an online game,
where is the computation actually happening?
In the cloud. Most of the computation occurs in a remote data
centers. This ensures that you can access your information
from any location, device, and time.
5
If you could make millions of computers behave like one
dependable machine, what could humanity build that we cannot
build today?
If we can have one million computers behaving as one machine
we would be able to develop perfect modeling systems that
would allow us to improve various fields such as weather
forecasting and prediction.
What is a modality in AI? Give three examples of different
modalities.
A specific form of data that an AI model can understand and
learn from. This includes text, audio, and images.
2
What is multimodal learning?
In the context of AI, multimodal learning refers to models
capable of processing information from various modalities or
types of data
3
Where is multimodal learning used? Can you find one real
application and identify the types of information it combines?
Multimodal learning is used whenever you need to manipulate
different forms of data for tasks such as image recognition
and diagnosis. One real world application is Google Gemini
that can take audio, image, text,and vidoe inputs and produce
any of those forms as output.
4
What is embodied AI?
Embodied AI is when physical systems are integrated with AI
models which enables them to perceive and interact with the
real world.
5
How are multimodal learning and embodied AI connected?
Embodied AI depends on multimodal learning. In order for an
embodied AI to interact with the world it must be able to
process different types of inputs such as audio, visual, and
even sensor input. Thus, multimodal learning is required to
enable Embodied AI.
A type of technology that aims to mimic human learning,
problem-solving, and ablity to think.
2
Can you name at least three different sub-fields of AI?
Computer Vision, Natural Language Processing, and Generative
AI
3
AI has been around for about 70 years so far. Why is it
booming right now?
The concepts behind AI have been around for decades; however,
we didn't possess the computing power and massive data sets
required to bring these concepts into reality. The development
of faster processors, the increase in available data sets, and
the rise of cloud computing solved these problems and allowed
researchers to develop models that can recognize images,
understand speech, and perform complicated tasks. With that
came the boom of AI.
4
Can you name at least three application sectors where robots
are being widely employed? What are the reasons?
Robots are used within the surgical field, the automotive
manufacturing sector, and the food production sector. Each of
these applications require precision and efficiency which
these robots excel at.
5
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)
1. Navigating moving obstacles and crowds 2. Managing its
power and battery and any potential technical malfunctions 3.
Tracking its position within the facility and navigating its
different levels