Comp 101 - 001 Fall 2009 Instructor: Oliver Chen Office: LA 842 E-mail: ochen@musbillings.edu Web page: http://www.msubillings.edu/mathfaculty/ochen/ Phone: 657-2969 Office Hours: M - Th: 9:20-10:20 Text: Console Application Oriented Java Programming with Cojava 5th Edition by Yenn-Kunn O. Chen Course Content: Grades: Weeks I - III IV – VI VII – IX X – XII XIII – XV Chapters 1-2 3-4 5-6 7-8 9 - 10 Homework (30%) : To be announced in class. Midterm (30%) : There will be two midterms. Midterm 1 will be on Oct. 8, 2009 Midterm 2 will be on Nov. 12, 2009 Final (40%) will be on Dec 14, 2009, 10:00-11:50AM Note: Regarding student confidentiality, if you want your final exam back, please give me a self-addressed, stamped envelope before the final exam. Academic Support Center Writing and Math Lab: Monday – Thursday 8 A.M. to 8 P.M. Friday 8 A.M. to 5 P.M. Saturday 9 A.M. to 12 P.M. Disability Support Services Mission Statement Disability Support Services assists in creating an accessible university community where students with documented disabilities have an equal opportunity to fully participate in all aspects of the educational environment. We coordinate the provision of reasonable accommodations, advocate for an accessible and amenable learing environment, and promote self-determination for the students we serve. Syllabus Title: Fundamentals of Computer Science I Number: Comp 101 Catalog Description: Comp 101 Fundamentals of Computer Science I (4 cr.) Prerequisite: Math 105 or equivalent. Uses JAVA as a teaching medium. Includes number representations, memory codes, data types, algorithms, program design, OOP, and simple arrays. Course Goals and Purposes: A major goal of this course is to present elementary computing techniques, simple algorithms and primitive data types using Java as the language of implementation. Entering students should have completed or be currently enrolled in Math 105. Students who complete the course are equipped to solve elementary computing problems through problem-solving methods and algorithmic development. They will be ready for further study in computer sciences. Course Outline: I. Whole Numbers And Computer Memories 1.1. Whole Number System 1.2. Efficient Techniques 1.3. Conversion Of Representations 1.4. Memories 1.5. Memory Size For Whole Numbers II. Program Syntax, Algorithm And Data Type 2.1. Program Analysis 2.2. Algorithms 2.3. Data Types III. Primitive Data Type char 3.1. Whole Numbers in Java 3.2. Type char 3.3. Control And Blank Characters 3.4. Operators On Type char 3.5. Input Characters 3.6. Formatted Output 3.7. One-dimensional Array IV. Methods And Their Parameters 4.1. Fundamental Code Reuse 4.2. Method Modifiers 4.3. Method With Parameters 4.4. Polymorphism Type I 4.5. Method Main V. Primitive Type Boolean And Flow Control 5.1. Primitive Data Type boolean 5.2. Operators On Type boolean 5.3. Elementary Flow Control VI. Simple Recursive Methods And Repetition Statements 6.1. Recursive Methods 6.2. While Statement 6.3. Do Statement 6.4. For Statement VII. Primitive Data Types byte, short, int, And long 7.1. Integer Representations 7.2. Integer Input/Output 7.3. Integer Operators 7.4. Program design 7.5. Memory Size For Integers 7.6. Bit Operators VIII. Real Numbers And Types 8.1. Real Numbers 8.2. Memory Codes 8.3. Types float And double 8.4. Input And Output For Real Numbers 8.5. Use Of Classes Math And Random IX. Conversion Among Primitive Types And String 9.1. Casting Between Primitive Types 9.2. Conversion Between Primitive Type And String 9.3. String Input And Output 9.4. Fundamental String Methods X. Fundamental Menu Driven Programming 10.1. Simple Menu Driven Programming 10.2. Complete Menu Driven Programming