This is CS50 - cdn.cs50.net

113
This is CS50

Transcript of This is CS50 - cdn.cs50.net

Page 1: This is CS50 - cdn.cs50.net

This is CS50

Page 2: This is CS50 - cdn.cs50.net
Page 3: This is CS50 - cdn.cs50.net

what ultimately matters in this course is not so much where you end up relative to your classmates but where you end up relative to yourself when you began

Page 4: This is CS50 - cdn.cs50.net

2/3of CS50 students have never taken CS before

Page 5: This is CS50 - cdn.cs50.net

input → → output

Page 6: This is CS50 - cdn.cs50.net

000

Page 7: This is CS50 - cdn.cs50.net

001

Page 8: This is CS50 - cdn.cs50.net

010

Page 9: This is CS50 - cdn.cs50.net

011

Page 10: This is CS50 - cdn.cs50.net

100

Page 11: This is CS50 - cdn.cs50.net

101

Page 12: This is CS50 - cdn.cs50.net

110

Page 13: This is CS50 - cdn.cs50.net

111

Page 14: This is CS50 - cdn.cs50.net

123

Page 15: This is CS50 - cdn.cs50.net

1231

Page 16: This is CS50 - cdn.cs50.net

12310 1

Page 17: This is CS50 - cdn.cs50.net

123100 10 1

Page 18: This is CS50 - cdn.cs50.net

123100 10 1

100 × 1

Page 19: This is CS50 - cdn.cs50.net

123100 10 1

100 × 1 10 × 2+

Page 20: This is CS50 - cdn.cs50.net

123100 10 1

100 × 1 10 × 2 1 × 3+ +

Page 21: This is CS50 - cdn.cs50.net

123100 10 1

100 20 3+ +

Page 22: This is CS50 - cdn.cs50.net

123

Page 23: This is CS50 - cdn.cs50.net

# # #100 10 1

Page 24: This is CS50 - cdn.cs50.net

# # #102 101 100

Page 25: This is CS50 - cdn.cs50.net

# # #22 21 20

Page 26: This is CS50 - cdn.cs50.net

# # #4 2 1

Page 27: This is CS50 - cdn.cs50.net

0004 2 1

Page 28: This is CS50 - cdn.cs50.net

0014 2 1

Page 29: This is CS50 - cdn.cs50.net

0104 2 1

Page 30: This is CS50 - cdn.cs50.net

0114 2 1

Page 31: This is CS50 - cdn.cs50.net

1004 2 1

Page 32: This is CS50 - cdn.cs50.net

1014 2 1

Page 33: This is CS50 - cdn.cs50.net

1104 2 1

Page 34: This is CS50 - cdn.cs50.net

1114 2 1

Page 35: This is CS50 - cdn.cs50.net

A

Page 36: This is CS50 - cdn.cs50.net

65

Page 37: This is CS50 - cdn.cs50.net

01000001

Page 38: This is CS50 - cdn.cs50.net

ASCII

Page 39: This is CS50 - cdn.cs50.net

... A B C D E F G H I ...

... 65 66 67 68 69 70 71 72 73 ...

Page 40: This is CS50 - cdn.cs50.net

72 73 33

Page 41: This is CS50 - cdn.cs50.net

H I

72 73 33

Page 42: This is CS50 - cdn.cs50.net

H I !

72 73 33

Page 43: This is CS50 - cdn.cs50.net
Page 44: This is CS50 - cdn.cs50.net

H I !

72 73 33

Page 45: This is CS50 - cdn.cs50.net

H I !

01001000 01001001 00100001

Page 46: This is CS50 - cdn.cs50.net
Page 47: This is CS50 - cdn.cs50.net
Page 48: This is CS50 - cdn.cs50.net
Page 49: This is CS50 - cdn.cs50.net

Unicode

Page 50: This is CS50 - cdn.cs50.net

4,036,991,159

Page 51: This is CS50 - cdn.cs50.net

11110000 10011111 10011000 10110111

Page 52: This is CS50 - cdn.cs50.net
Page 53: This is CS50 - cdn.cs50.net
Page 54: This is CS50 - cdn.cs50.net
Page 55: This is CS50 - cdn.cs50.net

RGB

Page 56: This is CS50 - cdn.cs50.net
Page 57: This is CS50 - cdn.cs50.net

72 73 33

Page 58: This is CS50 - cdn.cs50.net

72 73 33

Page 59: This is CS50 - cdn.cs50.net
Page 60: This is CS50 - cdn.cs50.net
Page 61: This is CS50 - cdn.cs50.net
Page 62: This is CS50 - cdn.cs50.net
Page 63: This is CS50 - cdn.cs50.net
Page 65: This is CS50 - cdn.cs50.net
Page 66: This is CS50 - cdn.cs50.net

144 60 64 128 60 64144 62 64 128 62 64144 65 64 128 65 64144 62 64 128 62 64144 69 64 128 69 64144 69 64 128 69 64144 67 64 128 67 64

Page 67: This is CS50 - cdn.cs50.net

input → → output

Page 68: This is CS50 - cdn.cs50.net

algorithm

Page 69: This is CS50 - cdn.cs50.net
Page 70: This is CS50 - cdn.cs50.net
Page 71: This is CS50 - cdn.cs50.net
Page 72: This is CS50 - cdn.cs50.net
Page 73: This is CS50 - cdn.cs50.net

n

Page 74: This is CS50 - cdn.cs50.net

n/2n

Page 75: This is CS50 - cdn.cs50.net

n/2n

Page 76: This is CS50 - cdn.cs50.net

n/2n

Page 77: This is CS50 - cdn.cs50.net

n/2n

log2 n

Page 78: This is CS50 - cdn.cs50.net

pseudocode

Page 79: This is CS50 - cdn.cs50.net

1 Pick up phone book2 Open to middle of phone book3 Look at page4 If person is on page5 Call person6 Else if person is earlier in book7 Open to middle of left half of book8 Go back to line 39 Else if person is later in book10 Open to middle of right half of book11 Go back to line 312 Else13 Quit

Page 80: This is CS50 - cdn.cs50.net

1 Pick up phone book2 Open to middle of phone book3 Look at page4 If person is on page5 Call person6 Else if person is earlier in book7 Open to middle of left half of book8 Go back to line 39 Else if person is later in book10 Open to middle of right half of book11 Go back to line 312 Else13 Quit

Page 81: This is CS50 - cdn.cs50.net

1 Pick up phone book2 Open to middle of phone book3 Look at page4 If person is on page5 Call person6 Else if person is earlier in book7 Open to middle of left half of book8 Go back to line 39 Else if person is later in book10 Open to middle of right half of book11 Go back to line 312 Else13 Quit

Page 82: This is CS50 - cdn.cs50.net

1 Pick up phone book2 Open to middle of phone book3 Look at page4 If person is on page5 Call person6 Else if person is earlier in book7 Open to middle of left half of book8 Go back to line 39 Else if person is later in book10 Open to middle of right half of book11 Go back to line 312 Else13 Quit

Page 83: This is CS50 - cdn.cs50.net

1 Pick up phone book2 Open to middle of phone book3 Look at page4 If person is on page5 Call person6 Else if person is earlier in book7 Open to middle of left half of book8 Go back to line 39 Else if person is later in book10 Open to middle of right half of book11 Go back to line 312 Else13 Quit

Page 84: This is CS50 - cdn.cs50.net

● functions○ arguments, return values

● conditionals● Boolean expressions● loops● variables● ...

Page 85: This is CS50 - cdn.cs50.net

#include <stdio.h>

int main(void){ printf("hello, world\n");}

Page 86: This is CS50 - cdn.cs50.net

print("hello, world")

Page 87: This is CS50 - cdn.cs50.net
Page 88: This is CS50 - cdn.cs50.net
Page 89: This is CS50 - cdn.cs50.net
Page 90: This is CS50 - cdn.cs50.net
Page 91: This is CS50 - cdn.cs50.net
Page 92: This is CS50 - cdn.cs50.net
Page 93: This is CS50 - cdn.cs50.net
Page 94: This is CS50 - cdn.cs50.net
Page 95: This is CS50 - cdn.cs50.net

input → → outputalgorithm

Page 96: This is CS50 - cdn.cs50.net

→ → algorithm → output

Page 97: This is CS50 - cdn.cs50.net

→ → → output

Page 98: This is CS50 - cdn.cs50.net

→ →

Page 99: This is CS50 - cdn.cs50.net
Page 100: This is CS50 - cdn.cs50.net

input → → outputalgorithm

Page 101: This is CS50 - cdn.cs50.net

→ → → outputalgorithm

Page 102: This is CS50 - cdn.cs50.net

→ → → output

Page 103: This is CS50 - cdn.cs50.net

→ →

Page 104: This is CS50 - cdn.cs50.net
Page 105: This is CS50 - cdn.cs50.net

input → → outputalgorithm

Page 106: This is CS50 - cdn.cs50.net

→ → → outputalgorithm

Page 107: This is CS50 - cdn.cs50.net

→ → → output

Page 108: This is CS50 - cdn.cs50.net

→ →

Page 109: This is CS50 - cdn.cs50.net

Page 110: This is CS50 - cdn.cs50.net

Page 111: This is CS50 - cdn.cs50.net

→ →

Page 112: This is CS50 - cdn.cs50.net

→ → →

Page 113: This is CS50 - cdn.cs50.net

This is CS50