Course Introduction CSE250

Course Introduction
Course Overview
• This course will be difficult
• Work hard and start early
• You are adults and I will treat you as such
– I won’t take attendance
– I won’t listen to your excuses
– You are responsible for the material and deadlines
• If you put forth effort, I will do what I can to
teach you
What you’ll learn in this course
• C++
• Data Structures
• A variety of Programming topics
• 70% Homework
• 30% Exams
• All homework will be programming
• You’ll learn programming through practice
Homework Format
• 9 Assignments
• Each is due in 3 parts
– By Wednesday: Debug sample code
– By Thursday: Write a small piece of code
– By Friday: Write a larger piece of efficient code
• You are encouraged to do the homework the
week before it’s due
• No late homework will be accepted
Homework Grading
• Automated grading for all assignments
– Use the submit_cse250 command on the CSE
• Live automated feedback each time you
update your submission
• You code must compile on the CSE servers
• Leaderboards?
• 2 midterms and a final
• Equally weighted
– Each exam is 10% of your course grade
• You final exam grade will override 80% of your
midterm scores if it helps your grade
• Exams will primarily cover material that is not
covered in homework
Data Structure
• When the data gets big
• With small amounts of data
– You can get away with using an array for
• What if you have millions of values?
– Might need a different structure to write efficient
• What if you have trillions?
Other Data Structures
• In this course, we’ll get from a few to millions
• To work with even more data take
– CSE462: Database Concepts
• When RAM isn’t big enough
• When the data should persist outside the program
– CSE486: Distributed Systems
• When one machine isn’t good enough
– CSE487: Data Intensive Computing
• Methods to handle large amounts of data
Day 1 survey
• Optional
• If you haven’t responded already
– Why are you taking Computer Science?
– What do you want to do?
Day 1 Survey – Why CS?
• Sample of responses (with anonymity)
– It’s interesting, challenging, logical, useful
– Sense of accomplishment from creating
– To develop video games
– It’s required
– The world is CS!
– Because it’s my major
Day 1 Survey – After graduation?
• Sample of responses (with anonymity)
– The big decision
• Get a job
• Go to Grad school
– Develop video games
– Start my own company
– “Find a job, and live my life”
Day 1 Survey – My Answers
• Why CS?
– Challenging. I’ll never be bored!
– Practical. All I need is a computer and I use what
I’m learning on my own projects
– Many other reasons, but these are the two biggest
for me
• After graduation
– Grad school, then teach
– I was undecided < 1 year ago
Get ready for C++