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++