Course Introduction CSE250 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 Grading • 70% Homework • 30% Exams • All homework will be programming assignments • 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 servers • Live automated feedback each time you update your submission • You code must compile on the CSE servers • Leaderboards? Exams • 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 everything • What if you have millions of values? – Might need a different structure to write efficient code • 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 something – 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++