ApplicationsOf Your Growing Potential
What We’ve Been Doing
• We’ve been writing Java programs
• In an IDE called Eclipse
• For desktop and laptop computers
But the World is Changing
• Desktops and Laptops are extremely important and where most serious computing takes place
• But there are other technologies to take advantage of:
Smartphones• First smartphone in 1971 by Paraskevakos
• PDAs and Blackberrys through the 90s/early 2000s
• Apple reveals first iPhone in 2007
• First Android phone comes out 2008
Mobile Apps
• A new opportunity for enterprising developers
• Creates a platform for everyone’s ideas
• Growing untapped potential
• As it stands now, Android/iPhone are your best targets
Android
• A mobile operating system developed by Google
• Many manufacturers make phones which run the Android OS
• Android apps are written in Java (woohoo!)
• Download Android SDK and ADT (eclipse plugin) for free!
• Publishing apps is relatively easy
iPhone
• Apple’s smartphone, runs iOS
• iPhone apps are written in Objective C
• Can be written with Xcode
• Have to pay $99/year and develop on a Mac (boo!)
• Apps are subject to a review process before publishing
Pros/ConsAndroid
Pros:- familiar language/IDE- developing is free- publishing is easy- majority of market share
Cons:- many different phones to support- typically less $/download
iOSPros:
- only 1 phone to support- typically more $/download
Cons: -new language/IDE- $99/yr- need a mac (kind of)- stricter publishing
Embedded Systems
• What if you have an idea which requires more than just a computer or a phone?
• What if you want a “smart” hammer which keeps track of how many strikes it makes?
• What if you want to make curtains which automatically close when it gets too sunny?
• Then you need Arduino
Arduino• A variety of low cost ($20 - $50) microcontrollers (simple computer)
• Uses a simple version of C/C++
• Has digital, analog, and serial input/output (I/O)
• Many “shields” available which extend the Arduino (wifi, Bluetooth, touch screen etc)
• Arduino with sensors, motors, and shields is pretty unstoppable:20 cool arduino projects
Sub-Disciplines of Computer Science
• We’ve spent the summer learning the basics of programming
• After you get the basics down there are many new areas to explore
• Here’s an overview of some of the big ones
Web Development• All different kinds of websites you can make
• HTML gets your text/pictures on your webpage (HTML5 does more…)
• CSS makes your page look pretty
• Javascript is a browser/client side scripting language
• PHP is a server side scripting language
• Go to w3schools.com all of this and more
Databases
• Organized collection of data
• Typically queried with some form of SQL
• Ability to create/query/maintain DB’s is extremely useful
• Allows websites, mobile apps, desktop apps to know the same things
• Making databases faster is huge research area
Graphics
• The rendering of 2D or 3D space to a screen
• Involves lots of math (geometry/linear algebra)
• Computationally heavy (often limited by speed of comp)
• Requires clever/efficient coding
• Applications in video games, movies, other visual mediaParticle Emitter
Robotics• A mix of engineering and computer science
• Creation and programming of autonomous machines
• Applications in manufacturing, retail, medicine, and more
• Math/physics heavyRobot Drone
And More…
• Computational Biology – analyzing biological data (i.e. DNA)• Systems – Improving Operating Systems/Programming Languages• Networks – Improving network protocols (i.e internet, data networks)• Computer Vision – Allow computers to understand images• Machine Learning – Allow computers to learn from data• Algorithms and Data Structures – Be clever, get faster• CS/Econ – Program trading strategies, make millions• CS/Neuroscience – Get the brain/computer to understand each other
The End is just the Beginning
• That’s the end of our lessons this summer
• If you enjoyed any part of what we did, don’t stop
• Take another class, code more on your own, keep at it
• Change the world!
Thank You!
Top Related