Welcome to CS 3331, Advanced Object-Oriented Programming Fall 2015 Dept. of Computer Science University of Texas at El Paso
2 Quick Survey … 10 minutes
3 Let’s Learn about CS 3331 New pedagogies Active learning A process whereby students engage in activities, such as reading, writing, discussion, or problem solving that promote analysis, synthesis, and evaluation of class content … [Wikipedia] Flipped classroom An instructional strategy and a type of blended learning that reverses the traditional educational arrangement by … [Wikipedia] Read the course syllabus 10 minutes and then quiz shortly
4 Quiz: What You Just Learned Download an Android app named MoQuiz Two versions: Android 4.0+ and lower No Android device? Install an emulator, e.g., BlueStacks and Genymotion Use this: Login ID: UTEP login name PIN: last 4 digits of student ID number 10 minutes for quiz and review
5 Today’s Reading Assignment Read Chapter 1 (OO S/W Development). Take Quiz 1 by Thursday 3:10 pm. Class will start 10 minutes late at 3:10 pm.
6 Review: Course Staff Instructor: Yoonsik Cheon Office: CCS (phone: ) Office hours: TR 10:30 am - 11:50 am, by appointment and when door is open Teaching assistant: TBA Office: CCS G.0512B (CS TA room) Office hours: TBA
7 Course Website URL: Resources available News and announcements Lecture notes Assignments and exams Scores and grades Course info (syllabus, contact info, etc.) Programming tips, tools, etc.
8 Course Web Account User ID: cs3331 Password: room206
9 Course Description Taken from the Course Catalog: “An in-depth exposure to the object-oriented programming paradigm, which builds upon programming experience gained in lower- level computer science classes. Emphasis on programming in an object-oriented language with which students are already familiar, and on requirements, testing, code reading, and comprehension.” Prerequisite CS 2402 with a grade of “C” or better
10 Course Objectives To understand object-oriented design concepts and principles, To acquire skills needed for developing high quality object-oriented programs, To be able to use object-oriented design notations like UML for modeling problem solutions and software systems, and To be proficient in object-oriented development environments.
11 Textbook Xiaoping Jia, Object-Oriented Software Development Using Java, second edition, Addison Wesley, Recommended references Scott W. Ambler, The Elements of UML 2.0 Style, Cambridge University Press, Allan Vermeulen, et al., The Elements of Java Style, Cambridge University Press, Richard Warburton, Java 8 Lambdas, O’Reilly, 2014 Available from University Bookstore Have a copy for reading assignments.
12 Tentative Topics UML Applet Java features (abstract class, interface, package, exception, generics, Java 8) Inheritance (overriding, subtyping, hiding) Class design (canonical forms) Documenting (Javadoc), DBC and unit testing (JUnit) Design patterns OO frameworks: GUI, collections, I/O Concurrent programming Network programming
13 Computing Resource Recommended platform Java SDK 1.8 Eclipse JUnit (v. 4.0+) Git (or other version control systems) CS dept. machines Bring portable computers (laptop, notebook, netbook) to class
14 Course Policy Assignments Reading and homework assignments Mostly programming in Java (more on this later) Policy Quiz on readings before class No late submission for all assignments Class attendance required; circulate a sign-in sheet!
15 Exams Mid-term exam October 15 (Thursday) Final exam December 10 (Thursday) at 4:00 pm - 6:45 pm Or in last week (Dec. 1 or 3)?
16 Grading Quizzes and in-class work: 30% Programming assignments: 40% Exams:30% Bonus (class participation): 5% Percentage-score-to-letter-grade conversion 90% or higher:A 80-89%:B 70-79%:C 60-69%:D below 60%:F
17 Questions or Concerns?
18 Planned Homework Battleship game (idea thanks to Dr. Ward) From Wikipedia
19 Battleship Game Incremental, evolutionary development Several increments or evolutions Game board Modeling in UML Applet: UI and playing Application: UI, strategies and playing modes Network: Socket, Web service and P2P HW1: Game board (see handout and demo)