A Brief Introduction Into Computer Science - UC Calgary
A Brief Introduction Into Computer Science - UC Calgary
Introduction To Computer
Science
Graphics:
Image curtesy of
Xin Liu
Increase the
networking capabilities
of computers!!!
•These technical issues (and others) are all very important but
something is still missing...
For more information: http://ilab.cpsc.ucalgary.ca/ James Tam
Increase the
networking capabilities
of computers!!!
•These technical issues (and others) are all very important but
something is still missing...
For more information: http://ilab.cpsc.ucalgary.ca/ James Tam
Human-Computer Interaction
• ...but don’t forget about the other side of the relationship.
• No matter how powerful the computer and how well written is
the software, if the user can’t figure out how it works then the
system is useless.
• Software should be written to make it as easy as possible for
the user to complete their task. (Don’t make it any harder than
it has to be).
• This is just common sense and should/is always taken into
account when writing software?
Common sense?...come on!
James Tam
Previous Examples
• Cases where designing “user-friendly” technology was not just
a matter of commonsense.
James Tam
Difficult to use
Easy to use
James Tam
James Tam
Computer Graphics
• Concerned with producing and manipulating images using
technology
From http://klamath.stanford.edu/~aaa/
James Tam
‘Pacman’: re-creation
‘Battlezone’: re-creation via via
http://my.ign.com/atari/battlezone http://www.webpacman
.com/pacman.php
‘Pong’: re-creation via “Ball 2.7”
Dragon’s lair
1 From “The Tiger Experience” by Alain Fournier at the University of British Columbia
James Tam
• Modeling
Xin Liu
• Rendering
Xin Liu
• Image processing
James Tam
James Tam
Artificial Intelligence
• Trying to build technology that appears to be ‘intelligent’
• Intelligence: What makes a person smart?
– Fact retrieval?
– Creativity?
– Solving problems?
James Tam
Expert Systems
• The focus is on capturing the knowledge of a human expert as
a set of rules stored in a database.
• The expert system can then answer questions, diagnose
problems and guide decision making.
• Example applications: medicine, computer repair
James Tam
Neural Networks
• The focus is on building structures that function the way that
neurons (and their connections in the brain) function.
• (Simplified overview):
– Neurons take electrical pulses as input and send electrical pulses as
output.
– A required level of input is required before the output is ‘fired’.
• This approach has been applied to problems which involve
pattern recognition ( e.g., visual, voice).
James Tam
???
James Tam
James Tam
Computer Vision
• The focus is on interpreting and understanding visual
information.
No
? No
?
No
No
Identification of malignant
cells: Stanford (Durmus et.
al 2015)
Restoration
James Tam
Software Engineering
• Concerned with employing systematic ways of producing
good software on time and within budget.
• A typical person can only hold ~7 concepts in their mind at a
time.
– A typical computer program consists of more than 7 ‘parts’.
• Consequently mechanisms for dealing with this complexity
are needed.
– Top down approach is one way: break a large (hard to conceive)
problem into smaller more manageable parts.
James Tam
Traditional Software
Development “Waterfall” Agile Software Development
Design Patterns
• A design pattern: a way of creating software that has been
shown to be been sound under a number of different contexts.
• Design patterns are a way of documenting successful past
approaches
– Top down design: although not one of the formally recognized designed
patterns it shares some similarities to those approaches.
James Tam
James Tam
James Tam
Computer Security
• It can involve the creation of malicious software (‘malware’)
Become
rich
overnight!
Virus software
James Tam
James Tam
Cryptography
• As may have already been described earlier in the semester
(depends on the particular assignments), cryptography can
play an important role in security.
– Transmitting and storing sensitive information.
– Cryptography involves the development of new and better approaches
for encoding sensitive data to make unauthorized access harder.
James Tam
James Tam
Games Development
• The University of Calgary was the first Canadian university to
offer this area of study.
James Tam
James Tam
James Tam
Copyright Notification
• “Unless otherwise indicated, all images in this presentation
are used with permission from Microsoft.”
James Tam