the case for computer science
DESCRIPTION
The Case for Computer Science. CS 1110/1111 – Introduction to Programming. The Course Goals. To teach the skill of programming To teach the art of computer science. Look around…. Where do you see computing at work in the world?. A question. First, what is an operating system? - PowerPoint PPT PresentationTRANSCRIPT
CS 1110/1111
The Case for Computer Science
CS 1110/1111 – Introduction to Programming
CS 1110/1111
The Course Goals
2
• To teach the skill of programming• To teach the art of computer science
CS 1110/1111
Look around…• Where do you see computing at work in the
world?
3
CS 1110/1111
A question• First, what is an operating system?• Second, how many operating systems have you
used?
4
CS 1110/1111
Really? How many?• Think of all the devices that contain operating
systems of some kind…
5
CS 1110/1111
So I ask again…• Where do you see computing at work in the
world?• Heck, look just in this room! In your dorm
room / apartment!
6
CS 1110/1111
A system of interest• SIS• What's wrong with SIS?
– (remember – we only have so much time in this class today…)
7
CS 1110/1111
Cri-SIS• Thoughts?
8
CS 1110/1111
Okay, that was cathartic• Now let's back up for a minute• Why do we have SIS?
– What's the underlying “problem” it's trying to solve?
– Is this fundamentally a “computer science” problem? If so, what's the problem? If not, what discipline does it come from?
• Activity: A Cri-SIS– Groups of 3 or 4; Answers these questions
9
CS 1110/1111
A Big, Scary Computer Science Word• “Algorithm”• Definition?
10
CS 1110/1111
Algorithms – What do they mean?• A step-by-step process for solving a problem• A recipe!
11
CS 1110/1111
Well… what's a program?• A program is an implementation of an
algorithm that a computer can understand
12
CS 1110/1111
The Challenge
13
Electricity Functionality
CS 1110/1111
Abstraction• Split up the problem into
several layers• Each intermediate layer will:
– Use what its lower layer provides to do something
– Hide the characteristics of the layers below it to the layer above
• The lower layers are in hardware and the higher layers in software
14
Get electricity into the computer
Provide the required functionality to the user
CS 1110/1111
Let's Pause for a Moment• What is a programming language?
– A language that allows you to express computations performed by a “machine”.
– But, a machine has several layers.• Each layer has its own programming language!
– The language allows the functionality provided by a layer to be used without knowing how it is implemented (Abstraction)
• What does a language do?– Provide representations for data– Define operations on the data
15
CS 1110/1111
Assembly Language(we're now in software land)
• Data: A collection of logical bits
• Operations: ADD, SUB, MULTIPLY,… (instructions)
• A sequence of instructions that perform a computation form a program.
• A program uses data that is stored in memory.
16
.datahellostring: .ascii "Hello “
.asciiz "World!\n"
.textmain: la $a0, hellostring li $v0, 4 syscall
li $v0, 10 syscall
CS 1110/1111
High-Level Language (HLL)• Uses data
representations and constructs that are much easier to use to convert the high-level computation steps (algorithm) to a computer program to achieve the desired functionality.
17