NEW YORK CITY COLLEGE OF TECHNOLOGY/CUNY DEPARTMENT OF COMPUTER SYSTEMS TECHNOLOGY CST1101–PROBLEM SOLVING WITH COMPUTER PROGRAMMING (4 hours – 3 credits) Instructor: Name: Office: Phone: e-mail: Office Hours: Course Description: This course introduces the student to concepts of problem solving using constructs of logic inherent in computer programming languages. The student studies the nature of problems, common solution approaches and analysis techniques. Students use flowchart interpreters to diagram problem solutions. Computer programming code is introduced to the student via the code generated by the flowcharting tool. This base of problem solving skills is augmented by high level computer tools, like Alice, an interactive 3D graphics program that could be used to create animations. These tools enable students to construct solutions to common algorithmic problems. The major emphasis is on teaching the student to identify solutions to a problem and translate them into various forms that will enable the computer to perform some of the steps in a solution of an actual problem instance. These forms include an objected oriented packages, flowcharting tool and viewing generated software code. Course Objectives: Upon successful completion of the course, students should be able to: 1. Demonstrate understanding of the steps required in solving a problem using a computer. 2. Demonstrate broad problem-solving experience by referring to solutions from a problem bank covered during class 3. Create an application based upon object-oriented concepts using a code generation tool. 4. Demonstrate understanding of flowcharting techniques to solve an algorithm. 5. Demonstrate reading comprehension of software showing the coding paradigms of repetition loops, decision statements, arrays and modules. General Education Outcomes: • SKILLS/Inquiry/Analysis: Students will employ scientific reasoning and logical thinking. CST1101 Spring 2013 Page 1 of 7 • SKILLS/Communication: Students will communicate in diverse settings and groups, using written (both reading and writing), oral (both speaking and listening), and visual means • VALUES, ETHICS, RELATIONSHIPS / Professional/Personal Development: Students will work with teams, including those of diverse composition. Build consensus. Respect and use creativity. Prerequisite – CUNY certification in mathematics, reading and writing. General knowledge of a personal computer is needed. Students may enroll in a workshop at the Academic Learning Center, located in the Atrium. Required Textbooks - "Starting Out With ALICE: A Visual Introduction to Programming" by Tony Gaddis. Pearson/Addison Wesley, 2nd edition, 2011 Recommended Web sites – www.visuallogic.org Students can download, free of charge, the flowchart interpreter, Visual Logic, which will be used through out the course. www.pearsonhighered.com/gaddis This is the companion website for the required textbook. Students will find useful resources at this site, like additional exercises and tests that complement the material in the required textbook. www.alice.org Students can download Alice from this site. Download is free of charge. The site also contains a lot of information, tutorials, and forums on how to use Alice, which will be helpful for the course project and Alice assignments. Attendance – Attendance is expected at every class meeting. College policy sets the maximum number of permissible absences at 10% of the number of class meetings scheduled for the semester. If the class is meeting two times per week, you are permitted to be absent a total of three class sessions; if the class meets only once per week, you are permitted to miss one and one-half of the class meetings. Academic Integrity – Students and all others who work with information, ideas, texts, images, music, inventions, and other intellectual property owe their audience and sources accuracy and honesty in using, crediting, and citing sources. As a community of intellectual and professional workers, the College recognizes its responsibility for providing instruction in information literacy and academic integrity, offering models of good practice, and responding vigilantly and appropriately to infractions of academic integrity. Accordingly, academic dishonesty is prohibited in The City University of New York and at New York City College of Technology and is punishable by penalties, including failing grades, suspension, and expulsion. The complete text of the College policy on Academic Integrity may be found in the catalog. Grade Requirement – Students must complete all Lab and Online assignments, and take all tests. CST1101 Spring 2013 Page 2 of 7 Evaluation and Grading – Test1 Test2 Lab Assignments Final Project Total 15% 15% 20% 20% 30% ===== 100% Grade System: Numerical Grade Ranges 93-100 90-92.9 87-89.9 83-86.9 80-82.9 77-79.9 70-76.9 60-69.9 59.9 and below Letter Grade A AB+ B BC+ C D F Storage Media -- You must have a USB storage media. Project: In the course project, students will develop a videogame prototype. This is a group project in which students will use ALICE (www.alice.org), a free interactive 3D graphics program to create animations. In a term paper students will describe the story of the game and how it was implemented with Alice. Each team will present to the class their work. The following are the project milestones. 1) 2) 3) 4) Create a setting for the videogame Create characters (protagonist and antagonist) for the videogame Integrate videogame setting and characters Implement the characters interactions among themselves and with their world (the story) 5) Develop individually a character side-quest within the videogame developed by the group 6) Integrate the main story and side-quest COURSE OUTLINE Topics/Assignments CST1101 Spring 2013 Page 3 of 7 Meeting Date 1 2 3 4 5 6 7 8 9 10 11 12 13 14 CST1101 Topic to be Covered Assignments Discussion of general problem solving methods. Introduction to logical step solutions Review of functions and their use in logical solutions Writing specific steps of algorithms – English pseudocode – decision making, logical operators, IF/THEN/ELSE Using repetition, with WHILE loops and FOR/NEXT loops Introduction to Flowcharting: Sample Visual Logic program (Visual Logic User’s Guide(VLUG)/Lesson 1) Input / Output and arithmetic operators with Visual Logic (VLUG/Lesson 2,Lesson 3) Selection structures, conditional and logical operators with Visual Logic (VLUG/Lesson 4) Repetition structures with Visual Logic (VLUG/Lesson 5,Lesson 6) Repetition structures with Visual Logic (VLUG/Lesson 7,Lesson 8) TEST1 (60 min) Introduction to Alice and Objects (Alice/Chapter 1) Introduction to Alice and Objects (Alice/Chapter 1)(cont.) Programming in Alice (Alice/Chapter 2) Programming in Alice (Alice/Chapter 2) (cont.) Variables and Functions (Alice/Chapter 3) Spring 2013 Page 4 of 7 15 16 17 18 19 20 21 22 23 24 25 26 27 Variables and Functions (Alice/Chapter 3) (cont.) Decision and Repetition (Alice/Chapter 4) Decision and Repetition (Alice/Chapter 4) (cont.) Methods, Functions (Alice/Chapter 5) Project work Methods, Functions (Alice/Chapter 5) (cont.) Events (Alice/Chapter 6) TEST 2 (60 min) Events (Alice/Chapter 6) (cont.) Lists and Arrays (Alice/Chapter 7) The Java Environment – Using the NetBeans IDE Classes and objects in Java Classes and objects in Java (cont.) Java programs and applications 29 Java language fundamentals Project Presentations Java language fundamentals (cont.) Review for the Final 30 Final 28 Assessment Criteria For the successful completion of this course a student should be able to: CST1101 Evaluation methods and criteria Spring 2013 Page 5 of 7 1. Demonstrate understanding of the steps required in solving a problem using a computer. 2. Demonstrate broad problem-solving experience by referring to solutions from a problem bank covered during class 3. Create an application based upon objectoriented concepts using a code generation tool. 4. Demonstrate understanding of flowcharting techniques to solve an algorithm. Students will describe problem, identify inputs, processes and desired outcomes in laboratory assignments, class work and tests. Students will solve problems with the flowchart interpreter Visual Logic in laboratory assignments, class work and tests. Students will demonstrate problem-solving ability in laboratory assignments, class work and tests. Students will use object-oriented programming concepts to create a video game prototype or animation with Alice in laboratory assignments and the project. Students will solve problems with Visual Logic in Laboratory Assignments, Class work and tests. 5. Demonstrate reading comprehension of Students will identify coding paradigms in software showing the coding paradigms of Laboratory Assignments, Class work and repetition loops, decision statements, arrays tests and modules. General Education Outcomes and Assessment: Learning Outcomes SKILLS/Inquiry/Analysis Students will employ scientific reasoning and logical thinking. Assessment Method Students will describe problem, identify inputs, processes and desired outcomes in laboratory assignments, class work and tests. Students will solve problems with the flowchart interpreter Visual Logic in laboratory assignments, class work and tests. SKILLS/Communication Students will communicate in diverse CST1101 Students will identify coding paradigms in Laboratory Assignments, Class work and tests Term paper in which students will describe the Alice project and how it Spring 2013 Page 6 of 7 settings and groups, using written (both reading and writing), oral (both speaking and listening), and visual means VALUES, ETHICS, RELATIONSHIPS / Professional/Personal Development Students will work with teams, including those of diverse composition. Build consensus. Respect and use creativity. CST1101 was implemented with Alice. Oral presentations of the Alice project Alice project in which students will work in groups, build consensus and respect and use creativity Spring 2013 Page 7 of 7