533583865 1. Department, number, and title of course Department, CS, Number: TC1002, Title: Programming Fundamentals Equivalent to CB00822 Required Course ( ); Elective Course ( ); Semester Hours:___3___ 2. Course (catalog) description This course is fundamental to all Information Technology and Information majors. Students will gain the ability to solve problems through the use of algorithms and object-oriented programming strategies. 3. Prerequisite(s) None 4. Textbook(s) and/or other required material Texts Author: Joyanes Aguilar Luis, Zahonero Martínez Ignacio. Publication date: 2002. Title: Programación en Java 2. Algoritmos, Estructuras de Datos y Object-Oriented Programming. Publisher: McGraw Hill. ISBN: 84-481-3290-4 Reference Author: Sierra, Bates. Publication date: 2005. Title: Head First java, 2nd Edition. Publisher: O’Reilly. ISBN: 0596009208 Author: J. Gosling et al. Publication date: 2001. Title: El Lenguaje de Programación Java. 3ª edición. Publisher: Addison-Wesley. ISBN: 84-782-9045-1 Author: Joyce Farell. Publication date: 1999. Title: Java Programming. Publisher: Course Technology. ISBN: 0-7600-1070-6 Author: Nell Dale, Chip Weems and Mark Headington. Publication date: 2003. Title: Programming and problem solving with Java. Publisher: Jones and Bartlett Publishers . ISBN:0-7637-0490-3 Digital version Author: Nell Dale, Chip Weems and Mark Headington. Publication date: 2001 Title: Introduction to Java and Software Design. Publisher: Jones and Bartlett Publishers. ISBN:0763710644. This book can be found online at: http://acm.books24x7.com. 5. Course objectives Students who complete this course will have the ability to: Model solutions to problems using the object-oriented approach, with the help of virtual world. Develop solutions to problems using an object-oriented programming language and techniques for testing and debugging. Use an Integrated Development Environment (IDE) for the development of computer programs. 6. Topics covered 1. Virtual Worlds: (3 weeks) 1.1. Introduction to Virtual Worlds. 1.2. Classes, objects and methods in Virtual Worlds. 1.3. Conditions in Virtual Worlds. 1.4. Loops in Virtual Worlds. 2. Introduction to Object-Oriented Programming. (1 week) 2.1. Pseudo-code, algorithms, programming, implementation and testing. 2.2. Learning the Java programming Environment: Compiling in the console. 2.3. Learning the Java programming Environment: Compiling in an IDE. 2.4. Java Syntax and Conventions. 2.5. Predefined Classes in Java (API) 2.6. Data Input/output. 1/3 533583865 3. 3.1. 3.2. 4. 4.1. 4.2. 4.3. 5. 5.1. 5.2. 6. 6.1. 6.2. 6.3. 7. 7.1. 7.2. 7.3. 7.4. Variables, data types and operators. (1 week) Variables, data types and operators. The String Class. Classes, objects and methods in Object-Oriented Programming (2 weeks) Class design and creation. Object creation and manipulation. Methods and parameters. Inheritance: Basic concepts. (1 week) Inheritance. Overloading and Overrides. Conditional Statements in Object-Oriented Programming. (2 weeks) Syntax of conditional statements. Use of conditional statements for problem solving. Testing and debugging of solutions. Loops in Object-Oriented Programming. (4 weeks) Loop syntax. Use of loops in problem solving. Processing Strings using loops. Testing and debugging of solutions. 7. Class/laboratory schedule, i.e., number of sessions each week and duration of each session Class: 3 hours/week 3 sessions of 1 hour Laboratory: 3 hours/week 2 sessions of 1.30 hours 8. Contribution of course to meeting the professional component This course develops skills in a gradual and cumulative fashion, starting with basic programming concepts. The student will apply their skills in a Virtual World and then move on to an object-oriented programming language. Competencies developed in this course are: Understand basic object-oriented programming principles using Virtual Worlds. Apply basic object-oriented programming concepts using Development Environments and cutting-edge programming languages. 9. Person(s) who prepared this description and date of preparation Ing. Jakeline Marcos Abed, M.T.I. Date: March 2007 Additional Information Oral and Written Communications Every student is required to submit at least __0___ written reports (not including exams, tests, quizzes, or commented programs) of typically __0__ pages and to make __0___ oral presentations of typically __0___ minute’s duration. Include only material that is graded for grammar, spelling, style, and so forth, as well as for technical content, completeness, and accuracy. Theoretical Content Please list the types of theoretical material covered, and estimate the time devoted to such coverage. 1. Virtual Worlds (Classes, objects and methods, Conditions and Loops): (3 weeks) 2. Introduction to Object-Oriented Programming (Algorithms, Compiling, Java Syntax, Data I/O) (1 week) 2/3 533583865 3. Variables, data types and operators (Variables, data types and operators). (1 week) 4. Classes, objects and methods in Object-Oriented Programming (Objects, Methods) (2 weeks) 5. Inheritance: Basic concepts (Inheritance). (1 week) 6. Conditional Statements in Object-Oriented Programming (Conditional statements). (2 weeks) 7. Loops in Object-Oriented Programming (Loops). (4 weeks) Collaborative Skills Please describe opportunities for developing collaborative skills in this course. This course uses Collaborative learning and Pair Programming for some activities. Students may work in teams in order to construct a programming solution. Indicate if the course has a significative design content The students should design or create a solution that satisfies a problem. Most of the time this solution should be creative and they have to do a thinking process or analysis to get a procedure or algorithm using their own logic. List examples of evidences such as homework sets, projects, cases, studies and exams developed by students (collect and keep low, medium and high performances please). Indicate the course distribution in terms of: lecture, laboratory, recitation and other. The course distribution is: 25% lecture, 15% recitation, 40% laboratory, 20% guided practices. Estimate Curriculum Category Content (Semester hours) Area Algorithms Software Design Core 1 0.5 Advanced Area Data Structures Programming Languages Core Advanced 1.5 Computer Architecture Laboratory projects (specify number of weeks on each) The course has 15 laboratories projects (one laboratory for each week of the course). Social and Ethical Issues Topic: To be honest and write and deliver their own solutions. 2 hour of class / semester Graded: If they didn’t do their homework, they can’t achieve a good grade in the exam. Problem Analysis Students will gain the ability to solve problems using algorithms and object-oriented programming strategies. They read and analyze a problem, write or think in a procedure or algorithm using their knowledge of math, science, etc. and then construct a solution using OOP Solution Design For each topic of the course the students read and analyze a problem, write or think in a procedure or algorithm using their knowledge of math, science, etc. and then construct a solution using OOP. 3/3