Welcome to CSIS10A Computer Science: Beginning Programming Please, take a syllabus Agenda What is Computer Science? Welcome to the World of Programming Syllabus Compilers Bios My First Program 2 Computer Science Includes Programming Languages Algorithms Software Engineering Computer architectures Operating systems Databases Networking The Internet Artificial intelligence 3 About This Class Programming is • Problem solving – like working a crossword puzzle • • • • A valuable technical skill A way to automate routine PC tasks A window into how the computer really works A really fun activity (for some) – Games, graphics, animation, database • A really challenging activity (for some) – No one knows what makes a good programmer 4 Syllabus Objectives--You will be able to: a) Solve a programming problem b) Express your ideas in C++ c) Debug and test your solutions for various errors d) Document software using appropriate comments Becoming an effective programmer is no small feat! 5 The Content The Three Pillars of Programming 1) Syntax: • the grammar of C++ • cout<<“Hi there”<<endl; 2) Semantics: • the meaning of C++ • display “Hi there” on screen 3) Abstraction: • How to make large program units from small Integrates content by using two substantial software projects 6 Advisories CSIS 1 – Web project, 5 weeks of introductory programming, where beginners should start MATH 263 – Algebra II: topics in algebra should be comfortable to you CSIS 10A supports students wishing to learn a valuable skill, AND University bound transfers majoring in CS or Engineering 7 (psst…it can be repeated) Math in this class If you didn’t like math (algebra), you probably will have a hard time in this class (CSIS 1 recommended for a slower intro) 1. 2. 3. 4. 5. 6. 7. 8. Solve for x: 5x + 3 = 13 What is 8 squared? Square root of 36 Area of a circle of radius 2: Average of 10, 14, 8, 4 Convert 3 kg into lbs Convert 43 ounces into pounds and ounces What is 15% of $30.00 ? 8 Keep up with the class Every week we keep learning new material, (even if you are not here!) perfect attendance should be your goal Extra help is available for people who need it Steve Bruemmer, Instructional Tech, can meet with you by appt, 9 – 5, Mon-Thur, 9 – 3 Fri sbruemmer@mpc.edu 646-4289 9 Course Work OPTION A—Foundations 12 Laboratories x 10 pts 120 points Project 1 25 points Midterm 100 points Project 2: part 1 only 25 points Final 100 points ----------------------------------------------------total 370 points 10 Course Work OPTION B—Challenges 12 Laboratories x 10 pts 120 points Project 1 25 points Midterm Exam (score >95) 100 points Project 2: part 1 25 points Project 2: part 2 30 points ----------------------------------------------------total 300 points 11 Weekly Assignments 12 assignments Lab Activities 6 Points Program Problems (3) 2 Points each Challenge Problem 4 Points Total (Max Possible) 10 Points + 1 extra credit 12 Tests Tests will be open book but no computers. Highly motivated students who receive a 95% score on the midterm, and complete all regular labs and projects will be eligible for Option B Challenges, and can be excused from final (if they do the extra project2 part2) 13 How much time does it take? Everyone is different • Some: 5-6 hours/week for the semester • Others: can finish before class is over • It’s possible to get a decent grade and still be a bad programmer (attendance helps a lot) • It’s your future, take advantage of the opportunity Go beyond, do a Challenge!! 14 Free Advice 1) We move quickly, each week is a (small) challenge 2) Stay on top of things or work ahead 3) If you want to drop please take care of the paper work (I can’t read minds—do you want an F? Do you want an I? Do you want to get a grade for your work?) 15 Class Materials Text Book (we follow very closely) Using C++, Hennefeld, 2nd ed. Brooks/Cole, 2003 You may want to pick up a cheap copy of Absolute C++, Savitch, 1st or 2nd Ed (on reserve) Misc Media (for shuttling programs) floppy disks, CD-R, Zip, whichever you like 3-ring binder …required for tests!! 16 Class Web Page CSIS 10A uses Internet heavily • Class Web site … memorize it! http://www.mpcfaculty.net/tom_rebold follow links to CSIS 10A • You can work ahead and finish early • Email me questions and code 17 Readings We will follow Using C++ closely Readings are given for each assignment Reading the material before class will … • make the lectures much more useful 18 Compilers You can choose a number of platforms 1. Bloodshed DEV C++ • Free download, simple to use • Lousy Debugger but we will use in class 2. Microsoft Visual C++ • Not free, more complicated, larger • Available in Savitch book (on Reserve) 3. Microsoft Visual Studio.NET 2005 • Available free through MS E-Academy • MUCH Larger and more complicated 4. If you know Linux/Unix • You can get an account on terra • g++ command line compiler 19 Please sign my Guestbook On campus: visit terra.mpc.edu/~tom/guests/csis10a.htm Background Why taking class What your ed goals are…certificate? Xfer? What school/degree? 20 Summary CSIS 10A is a serious class that requires effort, but it delivers knowledge you can use now and throughout life • Everyone needs problem solving skills • Good study habits are key to success • Give yourself enough time to let problems sink in Advanced programming (CSIS 10B) will explore video game topics in Spring ‘07 21