The Case for Computer Science CS 1110/1111 Introduc9on to - - PowerPoint PPT Presentation

the case for computer science
SMART_READER_LITE
LIVE PREVIEW

The Case for Computer Science CS 1110/1111 Introduc9on to - - PowerPoint PPT Presentation

The Case for Computer Science CS 1110/1111 Introduc9on to Programming CS 1110/1111 The Course Goals To teach the skill of programming To


slide-1
SLIDE 1

CS ¡1110/1111 ¡

The ¡Case ¡for ¡Computer ¡Science ¡

CS ¡1110/1111 ¡– ¡Introduc9on ¡to ¡Programming ¡ ¡

slide-2
SLIDE 2

CS ¡1110/1111 ¡

The ¡Course ¡Goals ¡

2

  • To ¡teach ¡the ¡skill ¡of ¡programming ¡
  • To ¡teach ¡the ¡art ¡of ¡computer ¡science ¡
slide-3
SLIDE 3

CS ¡1110/1111 ¡

Look ¡around… ¡

  • Where ¡do ¡you ¡see ¡compu=ng ¡at ¡work ¡in ¡the ¡

world? ¡

3

slide-4
SLIDE 4

CS ¡1110/1111 ¡

A ¡ques=on ¡

  • First, ¡what ¡is ¡an ¡opera=ng ¡system? ¡
  • Second, ¡how ¡many ¡opera=ng ¡systems ¡have ¡you ¡

used? ¡

4

slide-5
SLIDE 5

CS ¡1110/1111 ¡

Really? ¡ ¡How ¡many? ¡

  • Think ¡of ¡all ¡the ¡devices ¡that ¡contain ¡opera=ng ¡

systems ¡of ¡some ¡kind… ¡

5

slide-6
SLIDE 6

CS ¡1110/1111 ¡

So ¡I ¡ask ¡again… ¡

  • Where ¡do ¡you ¡see ¡compu=ng ¡at ¡work ¡in ¡the ¡

world? ¡

  • Heck, ¡look ¡just ¡in ¡this ¡room! ¡ ¡In ¡your ¡dorm ¡

room ¡/ ¡apartment! ¡

6

slide-7
SLIDE 7

CS ¡1110/1111 ¡

A ¡system ¡of ¡interest ¡

  • SIS ¡
  • What's ¡wrong ¡with ¡SIS? ¡ ¡ ¡

– (remember ¡– ¡we ¡only ¡have ¡so ¡much ¡=me ¡in ¡this ¡ class ¡today…) ¡

7

slide-8
SLIDE 8

CS ¡1110/1111 ¡

Cri-­‑SIS ¡

  • Thoughts? ¡

8

slide-9
SLIDE 9

CS ¡1110/1111 ¡

Okay, ¡that ¡was ¡cathar=c ¡

  • 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? ¡

  • Ac=vity: ¡A ¡Cri-­‑SIS ¡

– Groups ¡of ¡3 ¡or ¡4; ¡Answers ¡these ¡ques=ons ¡

9

slide-10
SLIDE 10

CS ¡1110/1111 ¡

A ¡Big, ¡Scary ¡Computer ¡Science ¡Word ¡

  • “Algorithm” ¡
  • Defini=on? ¡

10

slide-11
SLIDE 11

CS ¡1110/1111 ¡

Algorithms ¡– ¡What ¡do ¡they ¡mean? ¡

  • A ¡step-­‑by-­‑step ¡process ¡for ¡solving ¡a ¡problem ¡
  • A ¡recipe! ¡

11

slide-12
SLIDE 12

CS ¡1110/1111 ¡

Well… ¡what's ¡a ¡program? ¡

  • A ¡program ¡is ¡an ¡implementa=on ¡of ¡an ¡

algorithm ¡that ¡a ¡computer ¡can ¡understand ¡

12

slide-13
SLIDE 13

CS ¡1110/1111 ¡

The ¡Challenge ¡

13

Electricity Functionality

slide-14
SLIDE 14

CS ¡1110/1111 ¡

Abstrac=on ¡

  • Split ¡up ¡the ¡problem ¡into ¡

several ¡layers ¡

  • Each ¡intermediate ¡layer ¡will: ¡

– Use ¡what ¡its ¡lower ¡layer ¡ provides ¡to ¡do ¡something ¡ ¡ – Hide ¡the ¡characteris=cs ¡of ¡the ¡ layers ¡below ¡it ¡to ¡the ¡layer ¡ above ¡

  • The ¡lower ¡layers ¡are ¡in ¡

hardware ¡and ¡the ¡higher ¡ layers ¡in ¡so>ware ¡

14

Get electricity into the computer Provide the required functionality to the user

slide-15
SLIDE 15

CS ¡1110/1111 ¡

Let's ¡Pause ¡for ¡a ¡Moment ¡

  • What ¡is ¡a ¡programming ¡language? ¡

– A ¡language ¡that ¡allows ¡you ¡to ¡express ¡computa=ons ¡ performed ¡by ¡a ¡“machine”. ¡ – But, ¡a ¡machine ¡has ¡several ¡layers. ¡

  • Each ¡layer ¡has ¡its ¡own ¡programming ¡language! ¡

– The ¡language ¡allows ¡the ¡func=onality ¡provided ¡by ¡a ¡ layer ¡to ¡be ¡used ¡without ¡knowing ¡how ¡it ¡is ¡ implemented ¡(Abstrac9on) ¡

  • What ¡does ¡a ¡language ¡do? ¡

– Provide ¡representa9ons ¡for ¡data ¡ – Define ¡opera9ons ¡on ¡the ¡data ¡

¡

15

slide-16
SLIDE 16

CS ¡1110/1111 ¡

Assembly ¡Language ¡

(we're ¡now ¡in ¡sodware ¡land)

¡

  • Data: ¡A ¡collec=on ¡of ¡

logical ¡bits ¡

  • Opera9ons: ¡ADD, SUB,

MULTIPLY,…

(instruc9ons)

  • A ¡sequence ¡of ¡instruc=ons ¡

that ¡perform ¡a ¡ computa=on ¡form ¡a ¡

  • program. ¡
  • A ¡program ¡uses ¡data ¡that ¡

is ¡stored ¡in ¡memory. ¡ ¡ ¡

16

.data ¡ hellostring: ¡.ascii ¡"Hello ¡“ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡.asciiz ¡"World!\n" ¡ ¡ ¡ .text ¡ main: ¡la ¡$a0, ¡hellostring ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡li ¡$v0, ¡4 ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡syscall ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡li ¡$v0, ¡10 ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡syscall ¡

slide-17
SLIDE 17

CS ¡1110/1111 ¡

High-­‑Level ¡Language ¡(HLL) ¡

  • Uses ¡data ¡

representa=ons ¡and ¡ constructs ¡that ¡are ¡ much ¡easier ¡to ¡use ¡to ¡ convert ¡the ¡high-­‑level ¡ computa=on ¡steps ¡ (algorithm) ¡to ¡a ¡ computer ¡program ¡to ¡ achieve ¡the ¡desired ¡ func=onality. ¡ ¡

17