1 of 52

Intro to

Computer Science

Jake Shoudy

Aug 10, 2022

CSCI 110 - Lecture 1

2 of 52

Today’s Agenda

  • Class and instructor introductions

  • Course overview

  • Computer science overview

3 of 52

Hello!

4 of 52

Introduce yourself to

your neighbor!

  • Name and pronouns
  • Where you’re from
  • Why you took this class
  • Something non school related you’re looking forward to this semester

5 of 52

Who Am I?

  • I’m a software engineer at Google (Seattle)
  • I love teaching
  • I care deeply about equity in tech
  • I like rock & mountain climbing, skiing, video games, soccer, sports, ukulele, music

6 of 52

That's me!

7 of 52

Google In Residence

8 of 52

Who are your TAs?

Aman Singh

Junior majoring in CS. Originally from Nepal. Enjoys helping people learn new skills.

Aminu Abdusalam

Senior majoring in CS. TA’d this class last year. Originally from Nigeria. Interested in mentoring underclassmen.

Angel Adetula

Sophomore majoring in Biology and Data Science. Wants to share the experience of her favorite class from last year with new students.

Arun Giri

Junior majoring in CS. New to CS before taking this class in 2020. Claims this class was “one of the best experiences I ever had.” Likes Cricket, Soccer, and Table Tennis.

9 of 52

Course Overview

10 of 52

11 of 52

What is this class?

  • A gentle but thorough introduction to Computer Science using Python.
  • Core concepts of computer science
    • Language constructs
      • Conditionals, functions, for loops, while loops
    • Data structures
      • Lists, Dictionaries
    • Concepts
      • Encapsulation, efficiency, runtime, algorithmic thinking

12 of 52

This course assumes absolutely no experience.

You’re in the right place.

Reminder

13 of 52

Learning Zones

14 of 52

Imposter Syndrome

15 of 52

Class Time

Lecture MWF: 8AM-8:55AM (Libr-317)

  • New concepts
  • Some hands-on practice

Lab T: 8AM-9:50AM / 12:30PM-2:20PM / 3PM-4:50PM

(Libr-317)

  • Lots of hands-on practice
  • Get help!

16 of 52

Class Time

Lecture MWF: 11AM-11:55AM (Libr-317)

  • New concepts
  • Some hands-on practice

Lab T: 8AM-9:50AM / 12:30PM-2:20PM / 3PM-4:50PM

(Libr-317)

  • Lots of hands-on practice
  • Get help!

17 of 52

Class Time

Lecture MWF: 3PM-3:55PM (Libr-317)

  • New concepts
  • Some hands-on practice

Lab T: 8AM-9:50AM / 12:30PM-2:20PM / 3PM-4:50PM

(Libr-317)

  • Lots of hands-on practice
  • Get help!

18 of 52

We will Always Be Coding

  • Homeworks: weekly assignments released on Tuesdays and due the following Wednesday at 11:59pm
  • Projects - 2 longer assignments throughout the semester
  • Quizzes - weekly on Fridays
  • Exams:
    • 2 midterms (9/14 and 10/28)
    • 1 final

19 of 52

Grading

  • Two different weighted grading system
  • Your final grade will be the better of the two scores

20 of 52

Grading Weighting 1 (for test takers)

  • Homeworks: 7%
  • Project 1: 12%
  • Project 2: 17%
  • Participation: 5%
  • Quizzes: 5%

  • Midterm 1: 13%
  • Midterm 2: 18%
  • Final exam: 23%

21 of 52

Grading Weighting 2 (for project lovers)

  • Homeworks: 13%
  • Project 1: 18%
  • Project 2: 23%
  • Participation: 5%
  • Quizzes: 5%
  • Midterm 1: 7%
  • Midterm 2: 12%
  • Final exam: 17%

22 of 52

Grading example

  • Grading weights 1: 85.37%
  • Grading weights 2: 82.43%
  • Final grade: A- (instead of a B+)

23 of 52

Late Days

  • Homeworks are due at 11:59pm on Wednesdays, with a 10% penalty for each day that assignment is late up to 3 days max
  • Your first 2 late days are free (they do not negatively affect your grade)
  • Cannot be used on projects

24 of 52

Dropped Assignments

  • Your lowest 2 homework grades will not count towards your final grade
  • Your lowest 2 quiz grades will not count towards your final grade

25 of 52

We will be coding in Python on Edstem

26 of 52

Virtual Tools

Official class resources:

  • csci110.org: class website, links to course materials, syllabus
  • Edstem: announcements, assignments, projects, quizzes, questions, help
  • Replit: online code editor great for experimenting with code
  • Canvas: grades (won’t be used for much else)
  • Email: jshoudy@fisk.edu

Unofficial: Google, Stack Overflow, YouTube, other programming courses on the web, various online documentation, etc.

27 of 52

How to get help

  • My office hours
  • TA office hours
  • Labs
  • Edstem
  • Internet
  • Email

28 of 52

Problem Solving Protocol (PSP)

  1. Try something!
  2. Google your error!
  3. Rubber duck your code!
  4. Ask a neighbor (when possible)!
  5. Ask a teacher or TA

29 of 52

Office Hours - MWF 2PM-3PM

Th 11AM-12:30PM

Come ask questions

...or just chat! Happy to talk about anything :)

Lecture questions + homework help

Ask early!

can book office hours on the class calendar!

30 of 52

Quiz 0: Office Hours

Stop by before next Friday (August 19th) to get 100% on quiz #0!

You do not need to book a 15 minute slot :)

31 of 52

Cheating policy

  • No copying from peers
  • No copying from online
  • Ensure that you understand the code you submit

32 of 52

If I Suspect Cheating

  • I will ask you to explain your work
  • If you cannot explain it, I will conclude you’ve cheated
    • See next slide

33 of 52

If I Catch Cheating

  • 1st time
    • The Copier and the Copied will get automatic 0 for the assignment
  • 2nd time
    • The Copier and the Copied will get automatic 0 for the course

34 of 52

No copying

35 of 52

OK… Questions on Cheating?

36 of 52

What is Computer Science?

37 of 52

What is Computer Science?

A field of study that covers a huge range of topics! ��Can be thought of as using computers/computing to solve problems.

38 of 52

39 of 52

40 of 52

Software

Hardware

41 of 52

Software

Hardware

1100 1001

1101 0111

0010 1101

1001 1001

while cond != True:

instr = gen_inst()

cond = eval(instr)

return instr

Understands “Binary Code” Instructions

Understands Human instructions

Compiler

This Class

Python

42 of 52

Binary

Humans understand words. Computers understand 1s and 0s.

11001001 11010111 00101101 10011001

Bit

Bit

Bit

Bit

Bit

Bit

Bit

Bit

Byte

43 of 52

Binary

  • Each 1 or 0 is called a “Bit”
  • 8 bits make up a “Byte”
    • Does this sound familiar?
  • Each byte can be decoded into a human readable number (base-10)

44 of 52

Base 10

Reminder: human numbers (base 10) work by adding up multiples of powers of 10.

4387

103=1000

= (4 x 103) + (3 x 102) + (8 x 101) + (7 x 100)

= (4 x 1000) + (3 x 100) + (8 x 10) + (7 x 1)

101=10

102=100

100=1

= 4387

4387

45 of 52

Base 2 (binary)

Each Byte can be decoded into a human-readable (base 10) number.

01001101

27=128

= (0 x 27) + (1 x 26) + (0 x 25) + (0 x 24) + (1 x 23) + (1 x 22) + (0 x 21) + (1 x 20)

26=64

25=32

24=16

23=8

22=4

21=2

20=1

= 0 + 64 + 0 + 0 + 8 + 4 + 0 + 1

= 77

46 of 52

Try it yourself [2 minutes]

What number does this byte hold?

11010100

47 of 52

Try it yourself [2 minutes]

What number does this byte hold?

11010100

27=128

= (1 x 27) + (1 x 26) + (0 x 25) + (1 x 24) + (0 x 23) + (1 x 22) + (0 x 21) + (0 x 20)

26=64

25=32

24=16

23=8

22=4

21=2

20=1

= 128 + 64 + 0 + 16 + 0 + 4 + 0 + 0

= 212

48 of 52

Understanding check [2 minutes]

What is the maximum number a byte can hold?

49 of 52

Try it yourself [2 minutes]

What is the maximum number a byte can hold?

11111111

27=128

= (1 x 27) + (1 x 26) + (1 x 25) + (1 x 24) + (1 x 23) + (1 x 22) + (1 x 21) + (1 x 20)

26=64

25=32

24=16

23=8

22=4

21=2

20=1

= 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1

= 255

50 of 52

Running code

What happens when you run code?

num_people = 5

Compiler

10110110 00111001 10011010 11111001 11000101 00000001

Programming Language (Python)

Machine Language (Binary)

10110110 00111001 10011010 11111001 11000101 00000001

Output of the program:

  • Calculate something
  • Show an image
  • Make a sound

etc.

51 of 52

Review: Computer Science

What is it?

Study of how computers work, and how they can be used to solve problems. We learned about the difference in software vs hardware and practiced converting from binary to base 10.

Why is this important?

Every industry today is impacted by digital tools, from Google to Gucci

How will we learn?

Lectures, Labs, Homeworks, Projects, Office Hours

How will we be graded?

Attendance, Homeworks, Projects, Quizzes, Exams

52 of 52

Questions?