ABET Course Syllabi 1. Course number and name COSC 1437: Object Oriented Paradigm 2. Credits and contact hours 4 Credit Hours (3 credit hours lecture and 1 credit hour lab) 3. Instructor’s or course coordinator’s name Instructor: Dr. Arun Kulkarni 4. Textbook, title, author, and year • Java Software Solutions: Foundation for program design. John Lewis and William Loftus 2012, 7th Edition. Pearson, Addison Wesley, Boston, MA a. Other supplemental materials None 5. Specific course information a. A brief description of the content of the course (catalog description) Introduces the concepts of object-oriented programming to students with a background in the procedural paradigm. Topics covered include a review of control structures and data types, the object-oriented programming paradigm, object-oriented design, an overview of programming language principles, simple analysis of algorithms, basic searching and sorting techniques, and an introduction to software engineering issues. b. Prerequisites or co-requisites COSC 1436 c. Indicate whether a required, elective, or selected elective course in the program Required 6. Specific goals of the course a. Specific outcomes of instruction, ex. The student will be able to explain the significance of current research about a particular topic. 1. Choose the appropriate classes and objects for modeling a given problem. 2. Design, implement, test, and debug simple programs in an object-oriented programming language 3. Design, implement, and test programs with relationships among objects such as inheritance, encapsulation, and polymorphism. 4. Demonstrate different forms of binding, visibility, and scoping. 5. Design, code, test, and debug simple event-driven programs that respond to user events. 6. Explain exception conditions raised during execution. 7. .Describe how the class mechanism supports encapsulation and information hiding. 8. Determine when a recursive solution is appropriate for a problem. b. Explicitly indicate which of the student outcomes listed in Criterion 3 or any other outcomes are addressed by the course Course address ABET Student Outcome(s): a, b, c: 3, d:2 7. Brief list of topics to be covered • Review of object-oriented programming: Object-oriented methodology, object oriented design; software tools. • Principles of object-oriented programming: Inheritance; encapsulation; class hierarchies; polymorphism; abstract and interface classes; container/collection classes and iterators • Object-oriented design: Concept of design patterns and the use of APIs; modeling tools such as class diagrams, and UML use cases. • Introduction to interactive programming and basic graphics concepts, and techniques for drawing shapes. • Explore services provided by the String, Random, Math classes, and the standard class library classes. • Arrays; Arrays of objects; Variable length parameter lists • Event-driven programming: Event-handling methods; event propagation; exception handling • Recursion: Explain underlying concepts of recursion; explore examples that promote recursive thinking; demonstrate the use of recursion to solve problems. • Establish key issues to the design of object oriented software; explore techniques for identifying the classes and objects needed in the program; discuss the relationship among classes. • Software engineering issues: Tools; processes; requirements; design and testing; design for reuse; risks and liabilities of computer-based systems.