+ All Categories
Home > Documents > CS 1JC3 Introduction to Computational Thinkinganand/CS1JC3-Intro.pdf · ELM - born 2012 •...

CS 1JC3 Introduction to Computational Thinkinganand/CS1JC3-Intro.pdf · ELM - born 2012 •...

Date post: 20-May-2020
Category:
Upload: others
View: 4 times
Download: 0 times
Share this document with a friend
18
CS 1JC3 Introduction to Computational Thinking Christopher Anand [email protected] http://www.cas.mcmaster.ca/~anand/CS1JC32015.html
Transcript
Page 1: CS 1JC3 Introduction to Computational Thinkinganand/CS1JC3-Intro.pdf · ELM - born 2012 • functional reactive programming for the web • functional programming • better because

CS 1JC3 Introduction to

Computational ThinkingChristopher Anand

[email protected]://www.cas.mcmaster.ca/~anand/CS1JC32015.html

Page 2: CS 1JC3 Introduction to Computational Thinkinganand/CS1JC3-Intro.pdf · ELM - born 2012 • functional reactive programming for the web • functional programming • better because
Page 3: CS 1JC3 Introduction to Computational Thinkinganand/CS1JC3-Intro.pdf · ELM - born 2012 • functional reactive programming for the web • functional programming • better because
Page 4: CS 1JC3 Introduction to Computational Thinkinganand/CS1JC3-Intro.pdf · ELM - born 2012 • functional reactive programming for the web • functional programming • better because
Page 5: CS 1JC3 Introduction to Computational Thinkinganand/CS1JC3-Intro.pdf · ELM - born 2012 • functional reactive programming for the web • functional programming • better because

1,000 was attributable to faster processor speeds, according to the research by

Martin Grotschel, a German scientist and mathematician. Yet a factor of 43,000 was due to improvements in the efficiency of software algorithms.

Page 6: CS 1JC3 Introduction to Computational Thinkinganand/CS1JC3-Intro.pdf · ELM - born 2012 • functional reactive programming for the web • functional programming • better because

The Revolution is Happening

• Be an actor or a spectator?

http://ptmoney.com/

Page 7: CS 1JC3 Introduction to Computational Thinkinganand/CS1JC3-Intro.pdf · ELM - born 2012 • functional reactive programming for the web • functional programming • better because
Page 8: CS 1JC3 Introduction to Computational Thinkinganand/CS1JC3-Intro.pdf · ELM - born 2012 • functional reactive programming for the web • functional programming • better because

Informatics Literacy

• how to recognize problems computers can solve

• how to decompose them into pieces

• how computers are organized

• how we map decomposed problems to computers

Page 9: CS 1JC3 Introduction to Computational Thinkinganand/CS1JC3-Intro.pdf · ELM - born 2012 • functional reactive programming for the web • functional programming • better because

Learning

• CS will challenge your ability to learn

• Machine Learning = Artificial Intelligence

• greatest challenge in CS

• already beats people in many tasks

Page 10: CS 1JC3 Introduction to Computational Thinkinganand/CS1JC3-Intro.pdf · ELM - born 2012 • functional reactive programming for the web • functional programming • better because

Induction - Deduction

• virtuous circle

• learn from examples

• learn from trying

• learn from organizing

• learn from proving

Page 11: CS 1JC3 Introduction to Computational Thinkinganand/CS1JC3-Intro.pdf · ELM - born 2012 • functional reactive programming for the web • functional programming • better because

ELM - born 2012• functional reactive programming for the web

• functional programming

• better because

• shortest distance from problem to solution

• easy to apply logical thinking

• worse because

• needs better compiler

• only well-educated people know about it

• other functional programming languages

• Scala (big in big business computing, born 2003)

• Swift (future of iOS and MacOS, born 2014)

• Haskell (workhorse racehorse of CS research, born 1990)

Page 12: CS 1JC3 Introduction to Computational Thinkinganand/CS1JC3-Intro.pdf · ELM - born 2012 • functional reactive programming for the web • functional programming • better because

Haskell + McMaster 4X Fasterthan C + IBM

12

Page 13: CS 1JC3 Introduction to Computational Thinkinganand/CS1JC3-Intro.pdf · ELM - born 2012 • functional reactive programming for the web • functional programming • better because

11 Books to get you started!!!

Page 14: CS 1JC3 Introduction to Computational Thinkinganand/CS1JC3-Intro.pdf · ELM - born 2012 • functional reactive programming for the web • functional programming • better because

visualization 6labV

3lab IV 3lab III

3lab II

3lab I

3

presentation 6

assignment 2 7

assignment 1 7

pic competition 5

midterm 4 6

midterm 3 6

midterm 2 6

midterm 1 6

Final 30

Page 15: CS 1JC3 Introduction to Computational Thinkinganand/CS1JC3-Intro.pdf · ELM - born 2012 • functional reactive programming for the web • functional programming • better because

Portfolio• your work

• shows what you can do with knowledge

• great for job interviews

• CS is now a portfolio program = required

• CS students need an advisor

• ask me, especially if you want to help with Outreach — more about Outreach tomorrow

Page 16: CS 1JC3 Introduction to Computational Thinkinganand/CS1JC3-Intro.pdf · ELM - born 2012 • functional reactive programming for the web • functional programming • better because

Do Assignments Marks Go Up

16

0.0

30.0

60.0

90.0

120.0

0.0 7.5 15.0 22.5 30.0

Fun Fact!

bored? ask for bonus

Page 17: CS 1JC3 Introduction to Computational Thinkinganand/CS1JC3-Intro.pdf · ELM - born 2012 • functional reactive programming for the web • functional programming • better because

Tower of Hanoi

Big under Small

One at a Time

from Here to There

ThereNeitherHere

Page 18: CS 1JC3 Introduction to Computational Thinkinganand/CS1JC3-Intro.pdf · ELM - born 2012 • functional reactive programming for the web • functional programming • better because

Homework

• Write out rules for getting from

• Here

• to

• There


Recommended