1
CSCI111: Fundamentals
- f Programming I
Professor Sprenkle
sprenkles@wlu.edu
http://cs.wlu.edu/~sprenkle/cs111
Jan 8, 2018 Sprenkle - CSCI111 2
https://www.facebook.com/media/set/?set=a. 598522613577379.1073741850.309754825787494&type=3
CSCI111: Fundamentals of Programming I Professor Sprenkle - - PDF document
CSCI111: Fundamentals of Programming I Professor Sprenkle sprenkles@wlu.edu http://cs.wlu.edu/~sprenkle/cs111 https://www.facebook.com/media/set/?set=a. 598522613577379.1073741850.309754825787494&type=3 Jan 8, 2018 Sprenkle - CSCI111 2
1
sprenkles@wlu.edu
http://cs.wlu.edu/~sprenkle/cs111
Jan 8, 2018 Sprenkle - CSCI111 2
https://www.facebook.com/media/set/?set=a. 598522613577379.1073741850.309754825787494&type=3
2
Jan 8, 2018 Sprenkle - CSCI111 3 Jan 8, 2018 Sprenkle - CSCI111 4
gardening, Rockbridge Animal Alliance
3
Jan 8, 2018 Sprenkle - CSCI111 5
Jan 8, 2018 Sprenkle - CSCI111 6
4
Jan 8, 2018 Sprenkle - CSCI111 7
When people talk about the smart grid, smart vehicles, and smart buildings — what makes them ‘smart’? Computer science. When people talk about personalized medicine and personalized learning, how do you think personalization is possible? Computer science. We’re not there yet, but the next generation of computer scientists can help us realize these visions — with immeasurable benefits to society and the economy.
http://www.nytimes.com/roomfordebate/2011/06/15/computer- sciences-sputnik-moment/writing-code-has-become-self-expression
(emphasis is mine)
Ø Based on informa(on Ø Managing, manipulaTng data Ø Possible algorithms
Ø Most efficient algorithm in terms of Tme and/or space
Ø OPen, proof is a program--an implementaTon of the above
Jan 8, 2018 Sprenkle - CSCI111 8
5
these fields
Ø But programming is a tool to do much, much more!
Jan 8, 2018
Theory Other Systems
parallel systems
computaTon
SoPware
engineering
and verificaTon,
intelligence
language processing
Sprenkle - CSCI111 9
Programming Computer Science
Jan 8, 2018 Sprenkle - CSCI111 10
6
Jan 8, 2018
Web Browser Web Application Server HTTP Request Response: HTML Document
Sprenkle - CSCI111 11
Client
Jan 8, 2018
Find the error(s)!
Sprenkle - CSCI111 12
7
Jan 8, 2018 Sprenkle - CSCI111 13 Jan 8, 2018 Sprenkle - CSCI111 14
8
Jan 8, 2018 Sprenkle - CSCI111 15
Jan 8, 2018 Sprenkle - CSCI111 16
9
Jan 8, 2018 Sprenkle - CSCI111 17
Jan 8, 2018 Sprenkle - CSCI111 18
10
Jan 8, 2018 Sprenkle - CSCI111 19
Jan 8, 2018 Sprenkle - CSCI111 20
11
Jan 8, 2018 Sprenkle - CSCI111 21
SoPware engineer at OpTmizely, a startup in San Francisco OpTmizely: A/B tesTng and personalizaTon Johanna: on the applicaTon backend team, wriTng and maintaining the company's REST API
Freedom of InformaTon Act (FOIA) requests received by the board
Ø meeTng with the team that uses that app Ø developing requirements Ø monitoring legislaTon that impacts the Freedom of InformaTon Act and our client's business processes Ø developing and tesTng our app
Jan 8, 2018 Sprenkle - CSCI111 22
Computer ApplicaTons Programmer/Analyst IT division, Federal Reserve Board
12
Jan 8, 2018 Sprenkle - CSCI111 23
http://www.wlu.edu/transformative-education? feature=true&id=x10977
Jan 8, 2018 Sprenkle - CSCI111 24
Interned with Google’s Geo Oceans team. Worked for the Dept of Defense on Cybersecurity
13
Science from GeAysburg College
University
Trademark Office
Ø Focus: Search engines, DB apps
Jan 8, 2018 Sprenkle - CSCI111 25
Jan 8, 2018 Sprenkle - CSCI111 26
We use data analytics, computer systems, servers, programming, network and database administration all the time to provide the data necessary to inform our donors, government officials, advocates, and the general public about our mission to feed the hungry. Without good computer science…there is no food.
Personal Correspondence
14
Jan 8, 2018 Sprenkle - CSCI111 27
Ø a machine intelligence research company
Jan 8, 2018 Sprenkle - CSCI111 28
15
Jan 8, 2018
Sprenkle - CSCI111 29
the model
Jan 8, 2018 Sprenkle - CSCI111 30
16
Ø Has a finite number of steps Ø Completes in a finite amount of Tme
Ø An algorithm wriAen in a programming language Ø Also called code Ø As code base grows, becomes an applica2on
Jan 8, 2018 Sprenkle - CSCI111 31
Ø IntroducTons to a lot of new ideas
Ø Similar yet different from math Ø May get stuck but ask for help!
Ø FoundaTons for more complex, sophisTcated code
Jan 8, 2018 Sprenkle - CSCI111 32
17
Jan 8, 2018 Sprenkle - CSCI111 33
CSCI 111
FOP I
CSCI 112
FOP II
CSCI 210
Computer Organization
CSCI 250
Introduction to Robotics
CSCI 209
Software Development
CSCI 253
Genetic Algorithms Web ApplicaTons, Mobile ApplicaTons, AI, OS, Distributed CompuTng, …
Ø hAp://www.cs.wlu.edu/~sprenkle/cs111 Ø Check schedule frequently for updates
Ø Slides posted aPer class, in PDF format Ø Don’t copy down slides verbaTm
Ø “Pre-lab” assignments in the textbook Ø Programming projects due on Friday
Jan 8, 2018 Sprenkle - CSCI111 34
18
Ø 2 Exams (see schedule online for dates) Ø Final Exam
Ø ArTcles about computer science’s effect on everything
Ø Write up on Sakai, due Fridays by 11 a.m. Ø Discussion Friday Ø OpportuniTes for extra credit for finding, reading, summarizing addiTonal arTcles
Jan 8, 2018 Sprenkle - CSCI111 35
Ø Wednesday 2:30 – 5 p.m., Thursday: 1:30-4:30 p.m. Ø Email for appointments
Jan 8, 2018 Sprenkle - CSCI111 36
19
Ø Review enTre syllabus online
Ø Mandatory aAendance Ø Be respecuul to other students
Ø Bring your notes and handouts
Jan 8, 2018 Sprenkle - CSCI111 37
Ø Different perspecTve, addiTonal pracTce problems
Jan 8, 2018 Sprenkle - CSCI111 38
Consequence: my lecture slides and handouts and your notes are vitally important
20
Ø Schedule (may change)
Jan 8, 2018 Sprenkle - CSCI111 39
Jan 8, 2018 Sprenkle - CSCI111 40