MAUI COMMUNITY COLLEGE Course Outline 1. INTRODUCTION TO COMPUTER SCIENCE II 4 cr ICS 211 March 2001 2. COURSE DESCRIPTION: Reinforces and strengthens problem solving using advanced features of computer programming languages and algorithms. Introduces students to the concepts and applications of computer data types, storage, sorting, retrieval, removal, and maintenance of data structures. Problem solving techniques are refined using high-level object-oriented programming languages and sophisticated programming techniques, recursive applications, and algorithms. Meets the ACM CS2 course standards. 3. CREDITS / CONTACT HOURS: Four(4) credit hours: lecture/discussion/laboratory in advanced computer classroom/laboratories 4. PREREQUISITES: ICS 111 (C or better) or consent COREQUISITES: None RECOMMENDED PREPARATION: MATH 135 or 155 Approved by _________________________________________ Date: ___________ 06/28/16 23:23 1 D:\612936552.doc ICS-211: 5. INTRODUCTION TO COMPUTER SCIENCE II OBJECTIVES: 1. General: a. Increase familiarity with computer operating systems and to explore the advanced features of a particular programming language. b. Understand the relationship between a high-level language and the machine representation of those instructions and data that make up a program. c. Increase familiarity with computer software design and coding tools. d. Learn to analyze algorithms in terms of their complexity and to choose appropriate algorithms with knowledge of the tradeoffs involved in selecting one algorithm over another. e. Implement a variety of algorithms by designing and implementing programs in a programming language. f. Increase English reading, writing, and comprehension skills. 2. Specific: a. Reinforce skills learned in ICS-111 by the introduction of more complex problems and solutions. b. Examine data structures as they relate to the programmer. Identify data types, sorting algorithms, databases, and other primary data handling tools. c. Solve increasingly complex problems by developing and documenting programs using plain English and pseudocode to write problem-solving algorithms. d. Reinforce the need to document algorithms using a form of visual representation, such as top-down, flow charts, as well as a program design language. e. Write, test, and debug intermediate computer programs and code. f. Further develop the skills needed to modularize programs through the use of object-oriented programming techniques. g. Determine what algorithms best define the problem within finite hardware, memory, and software limitations. 6. SPECIFIC COURSE COMPETENCIES Upon successfully completion of this course the student will have further developed his/her programming skills to include an understanding of data structures and the relationship between and among the various types of structures. Students will demonstrate the ability to convert abstract problems into rational and useful algorithms and write efficient and robust computer code with which to meet the challenge. 7. COURSE CONTENT: 1. Introduction: Review of ICS 111 basics with the goal to build upon those fundamentals through the introduction of advanced topics, techniques, and skills. (15%) 06/28/16 23:23 2 D:\612936552.doc ICS-211: INTRODUCTION TO COMPUTER SCIENCE II 2. Algorithms: Reinforce the power and elegance of algorithm use and development through the use of assignments and exercises (20%) 2. Data structure and concepts: Discussions of programming data types, their relative strengths and weaknesses, and their applicability to the solution of well-defined problem classes. (35%) 3. Programming refinement: Building upon the basics covered in ICS-111 the student's programming skills are enhanced with the introduction of more sophisticated programming tools and the reinforcement of good programming practices/techniques. (30%) 8. RECOMMENDED COURSE REQUIREMENTS: Written or oral examinations In-class exercises Homework assignments Quizzes Class programming project Projects or research (written reports and/or oral class presentations) Attendance and/or class participation 9. TEXTS AND WORKBOOKS: Texts and supplemental materials will be selected from the most currently available and relevant that best meet the Objectives and Content of this course. Review and evaluation of available textbooks will be an ongoing effort. Current texts are: Data Abstraction and Problem Solving with Java—Walls and Mirrors, Carrano, Frank M. & Prichard, Janet J. ©2001 Addison Wesley Longman, Inc. (ISBN 0-201-70220-7), and Java: An Introduction to Computer Science & Programming, Second Edition, Savitch, Walter: ©2001 Prentice Hall (ISBN 0-13-031697-0) 10. EVALUATION AND GRADING: Homework and programming exercises will be assigned to evaluate and reinforce each topic’s critical points. Programming exercises and laboratory exercises on each topic area to assess hands-on comprehension and overall computer skills. Scheduled examinations will assess student’s comprehension and understanding of logical topic segments. Unscheduled quizzes and evaluation programming exercises as required to reinforce preparedness, comprehension, and currency of reading assignments. Midterm and/or Final examinations as necessary to evaluate overall course comprehension and content retention. Attendance, class participation, preparedness, and overall attitude will be a factor in the determination of the student’s course grade. Grade components: Programming assignments/class exercises -------- 55% Quizzes ---------------------------------------- 25% Term programming report ------------------------ 10% 06/28/16 23:23 3 D:\612936552.doc ICS-211: INTRODUCTION TO COMPUTER SCIENCE II Class/lab. participation and attendance -------- 10% 11. METHODS OF INSTRUCTION: Lecture to introduce key concepts and reinforce assigned reading and assignments Computer Laboratory to permit practical application of key concepts and to assess the student’s grasp of programming techniques, practices, and ideas. WebCT for evaluation, discussion, and to build computer competency. Other methods as appropriate. 06/28/16 23:23 4 D:\612936552.doc