CIS 120 Introduction to Programming Approved: May 6, 2011 EFFECTIVE DATE: Fall 2011
COURSE PACKAGE FORM Contact Person (s) Matt Butcher, Andra Goldberg, Dave White, Steve Sorden Date of proposal to Curriculum Sub-committee: 5/6/2011 Purpose: New _X_Change Delete If this is a change, what is being changed? (Check ALL that apply) Update Prefix Title _X_ Learning Units _X_ Competencies Format Change Course Description Course Number _X_ Textbook Credits Prerequisite Effective Semester/Year Fall 2011 Spring 20 Summer 20 COURSE INFORMATION Prefix & Number: CIS 120 Title: Introduction to Programming Catalog Course Description: This course takes an in depth look at programming concepts and techniques through the Java programming language. Theoretical concepts along with practical hands-on projects will be used when examining object oriented programming techniques. This course will explore the advancement of program development, and problem solving strategies. Credit Hours: 3 Prerequisite(s) Modality: Online: On-Ground: X Lecture Hours: 3 Lab Hours: Appropriate score on assessment test or successful completion of PCS 021, TRE 089 and TRM 090. 0 Co-requisite(s) Does this course need a separately scheduled lab component? Yes X No
Does this course require additional fees? If so, please explain. Yes X No Is there a similar course in the course bank? Yes (Please identify.) _X_No Articulation: Is this course or an equivalent offered at other two and four-year universities in Arizona? No _X_Yes ASU: CSE 110; NAU: CS 122 also satisfies: Science/Applied Science [SAS] Writing Across the Curriculum Rationale: Mohave Community College firmly supports the idea that writing can be used to improve education; students who write in their respective content areas will learn more and retain what they learn better than those who don t. Courses in the core curriculum have been identified as Writing Across the Curriculum courses. Minimum standards s for the Writing Across the Curriculum component are: 1. The writing assignments should total 1500 2000 words. For example, a single report which is 1500 words in length OR a series of essay questions and short papers (example: four 375-word assignments) which total 1500 words could meet the requirement. 2. The writing component will represent at least 10% of a student s final grade in the course. Is this course identified as a Writing Across the Curriculum course? Yes X No (See addendum for writing rubrics) Teacher s Guide Course Textbook, Materials and Equipment Textbook(s) Title Java Programming 6 th Edition Author(s) Publisher Joyce Farrell Course Technology ISBN 1111529442 Software/ Equipment Java SE Development kit 6 (SDK) jgrasp Integrated development Environment Bundled with textbook Eclipse IDE Java Integrated development Environment Free from www.eclipse.org (Sun Microsystems Product)
Textbook Costs Please indicate how much the textbook would cost if purchased through Barnes & Noble: New $ 110.00 Intended Course Goals By the end of the semester, students will be able to: 1. Utilize primitive structural and object oriented programming concepts, data types, loops, arrays, classes, objects, and file Input and Output in creating useful computer programs. 2. Create and document Java classes, objects, methods, inheritance, and polymorphism in creating robust object oriented programming solutions. 3. Use UML notation to model object oriented programs and system design. 4. Discuss advanced programming topics including sorting and searching algorithms, advanced modularization techniques, and recursion. Course Competencies and Objectives By the end of the semester, students will be able to: Competency 1 Define and utilize primitive data types as well as basic programming concepts. Objective 1.1 Describe memory usage regarding data types. Objective 1.2 Discuss structural and object oriented programming concepts along with flowchart documentation. Objective 1.3 Utilize variable assignment and conversion. Competency 2 Use logical comparison operators. Objective 2.1 Define and use Boolean expressions. Objective 2.2 Use If Else statements and CASE statements. Objective 2.3 Utilize compound Boolean expressions Competency 3 Use looping - writing instructions that repeat based on a Boolean Expression. Objective 3.1 Describe the advantages of looping in program design. Objective 3.2 Create Do, While, For loops in the Java programming language. Objective 3.3 Use and debug nested loops. Objective 3.4 Discuss how to avoid common loop mistakes. Competency 4 Define and use object oriented programming techniques Objective 4.1 Utilize predefined classes and methods in creating object oriented programs. Objective 4.2 Design and create simple classes, objects, methods. Objective 4.3 Create and use public, private methods in base and inherited classes. Objective 4.4 Utilize Inheritance in creating objects from parent and child classes. Competency 5 Using the UML to model programming solutions and systems Objective 5.1 Construct and document solutions and systems that use object oriented
programming. Objective 5.2 Use a Class diagram to illustrate names, attributes, and methods in a class or set of classes. Competency 6 Use arrays in program design. Objective 6.1 Declare and initialize one dimensional, two dimensional and parallel arrays. Objective 6.2 Create and manipulate object arrays. Objective 6.3 Employ sorting and searching algorithms to list data within arrays. Competency 7 Discuss and use advanced programming techniques Objective 7.1 Utilize modularization techniques including passing parameters and arrays. Objective 7.2 Research and implement modified sorting and searching algorithms. Objective 7.3 Create programming solutions that utilize recursive methods. Competency 8 Demonstrate File Input and Output concepts Objective 8.1 Utilize file input and output streams to work with external files. Objective 8.2 Discuss file serialization and security. Course Assessments Description of Possible Course Assessments (Essays, multiple choice, etc.) Exams standardized for this course? Midterm Final Other (Please specify): Quizzes, Programming Assignments, Debugging Exercises, Short Answer Essay Questions Are exams required by the department? Yes _X_No If Yes, please specify: Where can faculty members locate or access the required standardized exams for this course? Student Outcomes: Identify the general g education goals for student learning that is a component of this course. Check all that apply: 1. Communicate effectively. a. Read and comprehend at a college level. b. Write effectively in a college setting. 2. Demonstrate effective quantitative reasoning and problem solving skills. Method of Assessment 1-2 pages of documentation required for each programming project, sample exercises in reading code and debugging potential errors. Students create algorithm (steps to solve) a current problem and write program to solve problem. Math is typically part of solution.
Exams and quizzes address reasoning and problem solving skills as well. 3. Demonstrate effective qualitative reasoning skills. Students can research and test different programs they have created to find the overall best fit for a problem. 4. Apply effective methods of inquiry. a. Generate research paper by gathering information from varied sources, analyzing data and organizing information into a coherent structure. b. Employ the scientific method. 5. Demonstrate sensitivity to diversity a. Experience the creative products of humanity. b. Describe alternate historical, cultural, global perspectives. Learning Units Learning Unit Topic 1: Basic programming concepts and primitive data types Competency: 1 Objectives: 1.1, 1.2, 1.3 Activities/ Assignments: Chapter quizzes, review questions, discussion of adequate test data to test the effectiveness of an algorithm. Discovery of Create an algorithm to solve a simple problem. Utilize primitive data types to handle memory usage. Debug basic syntax errors in the Java programming language. Create flowchart documentation to represent the logical flow of a program. Learning Unit Topic 2: Logical Expressions and Boolean data types Competency: 2, 6 Objectives: 2.1, 2.2, 2.3, 6.1 Activities/ Assignments: Activities/ Assignments: Chapter quizzes, review questions, discuss the prominence of logic in computer programming. Create programs and UML based flow chats to explain the logical flow of a program. Debug logical errors in algorithms and programs. Learning Unit Topic 3: Usage of Repetition statements in computer programming - Looping Competency: 2, 3, 6
Objectives: 2.3, 3.1, 3.2, 3.3, 3.4, 6.1 Activities/ Assignments: Chapter quizzes, review questions. Example of programming assignment: Write a computer program that contains a useful repetition structure. Require thorough documentation within program explaining what happens in the loop. Debug problems in repetition structures by tracing through each run of a loop and nested loops. Learning Unit Topic 4: Object Oriented Programming Competency: 4, 1 Objectives: 4.1, 4.2, 4.3, 4.4, 1.1, 1.2, 1.3 Activities/ Assignments: Chapter quizzes, review questions. Students should create programs that use a user-defined class. Students can create objects and methods that inherit traits from a user defined classes. More user created programs should include inheritance, polymorphism, method overloading, and parameter passing. Learning Unit Topic 5: Documenting Object Oriented programs with UML Competency: 5, 4 Objectives: 5.1, 5.2, 5.3, 4.1, 4.2, 4.3, 4.4 Activities/ Assignments: Chapter quizzes, review questions. Diagram multiple Object Oriented programming scenarios. Create Class Diagrams modeling inherited and user-defined classes. Incorporate UML with flowcharting concepts for overall program documentation. Learning Unit Topic 6: Usage of Arrays in computer programming Sequential storage Competency: 6, 4, 3 Objectives: 6.1, 6.2, 6.3, 6.4, 4.1, 4.2, 4.3, 4.4, 3.1, 3.2, 3.3, 3.4 Activities/ Assignments: Chapter quizzes, review questions. Example of programming assignment: Write a computer program that contains the use of arrays. Use loops to assign values, search for a value, sort values, and print contents of array when possible. Documentation should address how the array is used and how parallel arrays and object arrays can be implemented if necessary. Learning Unit Topic 7: Advanced programming concepts Competency: 7, 6, 4 Objectives: 7.1, 7.2, 7.3, 6.1, 6.2, 6.3, 4.1, 4.2, 4.3, 4.4 Activities/ Assignments: Chapter quizzes, review questions. Example of programming assignment: Write a computer program that utilizes parameter passing and array parameter passing. Students can research different sorting and searching algorithms and create a program that employs these concepts. Students can create a program that includes a useful, well documented recursive method.
Learning Unit Topic 8: Working with Files Competency: 8, 4, 3 Objectives: 8.1, 8.2, 4.1, 4.2, 3.2, 3.3 Activities/ Assignments: Chapter quizzes, review questions. Example of programming assignment: Write a computer program that utilizes file input and output operations. Students can research file stream objects and employ their research in user created programs. Students can use sequential access file techniques and explore file serialization and similar security methods.