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 Welcome to Programming ! “Programming is best regarded as the process of creating works of literature, which are meant to be read.” Donald E. Knuth “An art and a science, requiring discipline, creativity, and practice.” Julien Hennefeld 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 5 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! 6 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 7 Grading 12 Assignments x 10 pts 2 Projects x 25 pts 3 Quizes x 10 pts 2 tests x 100 pts total A - 90% B - 80% C - 65% D - 50% 120 points 50 points 30 points 200 points --------------400 points 8 Weekly Assignments 12 assignments (2 will be extra/makeup credit) Textbook Exercises 4 Points Lab Activities(sometimes) 2 Points Program Problems 2 Points ea x 3 Challenge Problem 4 Points Total (Max Possible) 10 Points + 1 extra credit 9 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 excused from the final with an automatic A. 10 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 You are highly encouraged to attempt the challenge problems found on the labs!! 11 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, don’t rely on me to drop you. Best Advice: Read the chapter before the lecture and come with questions!!! 12 Class Materials Text Book (we will follow very closely) Using C++, Hennefeld, 2nd ed. Brooks/Cole, 2003 Misc Media (for shuttling programs) floppy disks, CD-R, Zip, flash drive, whichever you like 3-ring binder …great for tests!! 13 Class Web Page CSIS 10A uses Internet heavily • Class Web site … memorize it! http://www.mpcfaculty.net/steven_pearce follow links to CSIS 10A • You can work ahead and finish early • Email me questions and code 14 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 15 Compilers You can choose a number of platforms 1. We will be using Microsoft Visual Studio 2005 in class. • Bring in a DVD next week and you can get a free copy ($450 value). 2. Bloodshed DEV C++ • Free download, simple to use • Annoying pop-up bug (hold esc down, move cursor from code) 3. If you know Linux/Unix • You can get an account on terra • g++ command line compiler 16 Please sign my Guestbook On campus: visit terra.mpc.cc.ca.us/~spearce/bioc10a.htm Background Why taking class What your ed goals are…certificate? Xfer? What school/degree? 17 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 use video game topics in Spring ‘07 18