COMPUTER SCIENCE 10: INTRODUCTION TO COMPUTER SCIENCE
Dr. Natalie Linnellwith credit to Cay Horstmann and Marty Stepp
Who am I?
How I teach
Teaching is my favorite thing! Your involvement is important
Lots of questions In-class activities
Not graded, as long as you participate In class we will be writing code, and I will post
it after class My philosophy on my job: It is your job to
learn, and it is my job to help you do that.
Who are you?
What’s your major? Year? Why are you taking this class? Do you have any programming
experience? Something else about yourself
Take this course if you…
… like solving tricky problems
… like building things
… (will) work with large data sets
… are curious about how Facebook, Google, etc work
… have never written a computer program before
… are shopping around for a major
Course Challenges
Prerequisites? Math11 …Really, no experience required!
Aptitude? Most people can learn basic programming
Interest? CS is creative and rewarding, but it can also be time-consuming
Time? You can't expect to learn complex skills by listening to lectures This class will probably have the heaviest workload of any of your
classes this term Study habits?
Your brain needs time to learn. Don't try to do all work the night of the due date
You need time to get stuck, ask for help, get unstuck, get stuck again…
Jobs before graduation
English: 23.5% Healthcare: 28.7%
Starting salaries
Source: Summer 2011 Salary Survey, National Association of Colleges and Employers. Data are for Bachelor's Degree candidates.
High-demand for talent
Diverse opportunities
Software shops (Microsoft, Amazon, Google, Facebook…)
Hard sciences (computational biology…) Engineering (simulations…) Healthcare (data management…) Education (math…) International development (data
gathering…)
Course goals
Be able to apply your understanding Computer Science is different! Programming is a skill
By the end of the course, you will: write medium-scale programs to solve real
problems know some of the kinds of problems
computers can solve recognize beautiful code recognize ugly hacks
What is programming?
program: A set of instructionsto be carried out by a computer.
program execution: The act ofcarrying out the instructions contained in a program.
programming language: A systematic set of rules used to describe computations in a format that is editable by humans.
Write me a program for making a peanut butter and jelly sandwich
program: A set of instructionsto be carried out by a computer.
program execution: The act ofcarrying out the instructions contained in a program.
programming language: A systematic set of rules used to describe computations in a format that is editable by humans.
What do we notice about your programs?
“Language”
Compiling/running a program1. Write it.
code or source code: The set of instructions in a program.
2. Compile it.• compile: Translate a program from one language
to another.
3. Run (execute) it. output: The messages printed to the user by a
program.
With Code::Blocks
Course information
Your responsibilities
Come to every class meeting There will be activities, done in pairs
Spend two hours out of class for every scheduled hour in class That means 6 1/2 hours per week outside
class Ask questions right away when you are
stuck
Ask Questions
You will be stuck. A lot. I am too – all the time! You MUST ask questions Come to office hours!
You are learning to do something There is no way to fake your way through
this class.
Homework
Due every Wed. Except HW0
One will be posted by our next class Start early! One paper
CS and Society Grade: 25% HW, 25% each midterm, 25%
final Exams: Jan 28, Feb 15, Mar 22
You MUST be able to attend these dates