San Jose State University College of Science Department of Computer Science CS151, Object-Oriented Design, Sections 1 and 2, Spring 2016

Similar documents
San Jose State University College of Science Department of Computer Science CS151, Object-Oriented Design, Sections 1,2 and 3, Spring 2017

San Jose State University College of Science Department of Computer Science CS151, Object-Oriented Design, Sections 1, 2, and 3, Spring 2018

Course and Contact Information. Catalog Description. Course Objectives

San Jose State University - Department of Computer Science

San José State University Department of Computer Science CS151, Object Oriented Design, Section 04, Fall, 2016 (42968)

Course and Contact Information. Course Description. Course Objectives

San José State University Computer Science Department CS49J, Section 3, Programming in Java, Fall 2015

Course and Contact Information. Course Description. Course Objectives

San Jose State University College of Science Department of Computer Science CS185C, NoSQL Database Systems, Section 1, Spring 2018

San José State University Computer Science Department CS157A: Introduction to Database Management Systems Sections 5 and 6, Fall 2015

San Jose State University College of Science Department of Computer Science CS185C, Introduction to NoSQL databases, Spring 2017

San José State University Department of Computer Science CS151, Section 04 Object Oriented Design Spring 2018

San José State University Science/Computer Science Database Management System I

San José State University Department of Computer Science CS-144, Advanced C++ Programming, Section 1, Fall 2017

San José State University Department of Computer Science CS-174, Server-side Web Programming, Section 2, Spring 2018

San José State University Department of Computer Science CS166, Information Security, Section 1, Fall, 2018

San José State University College of Science / Department of Computer Science Introduction to Database Management Systems, CS157A-3-4, Fall 2017

San José State University Department of Computer Science CS 166 / SE 166, Information Security, Section 4, spring, 2017

San José State University Department of Computer Science CS049J, Programming in Java, Section 2, Fall, 2016

San José State University Department of Computer Science CS-144, Advanced C++ Programming, Section 1, Spring 2018

COURSE SYLLABUS ****************************************************************************** YEAR COURSE OFFERED: 2015

CS/SE 153 Concepts of Compiler Design

Spring 2018 El Camino College E. Ambrosio. Course Syllabus

ESET 349 Microcontroller Architecture, Fall 2018

CSCI 528: OBJECT ORIENTED PROGRAMMING, Fall 2015

San José State University College of Science/Department of Computer Science CS152, Programming Paradigms, Sections 1 & 2, Fall Semester, 2017

PELLISSIPPI STATE COMMUNITY COLLEGE MASTER SYLLABUS ROUTING/SWITCH CONFIGURATION CSIT 2750

Rochester Institute of Technology Golisano College of Computing and Information Sciences Department of Information Sciences and Technologies

CSCI 201L Syllabus Principles of Software Development Spring 2018

San José State University College of Science/Department of Computer Science CS 152, Programming Language Paradigms, Section 03/04, Fall, 2018

ESET 369 Embedded Systems Software, Fall 2017

CMPE/SE 135 Object-Oriented Analysis and Design

INFS 2150 (Section A) Fall 2018

CS/SE 153 Concepts of Compiler Design

Cleveland State University

PELLISSIPPI STATE COMMUNITY COLLEGE MASTER SYLLABUS LINUX SYSTEM ADMINISTRATION CSIT 2411

San José State University College of Science/Department of Computer Science CS152, Programming Paradigms, Sections 1 & 2 Spring Semester, 2018

Dr. Angela Guercio Dr. Natalia Dragan. Spring 2011

MWF 9:00-9:50AM & 12:00-12:50PM (ET)

ESET 369 Embedded Systems Software, Spring 2018

San José State University College of Science/Department of Computer Science CS152, Programming Paradigms, Sections 3 & 4, Fall Semester, 2016

Computer Science Department

Advanced Programming CMPS 109

COLLEGE OF DUPAGE CIS 2542 Advanced C++ with Data Structure Applications Course Syllabus

CSCE 441 Computer Graphics Fall 2018

IT 341 Fall 2017 Syllabus. Department of Information Sciences and Technology Volgenau School of Engineering George Mason University

Fundamentals of Computer Science CSCI 136 Syllabus Fall 2018

CS 241 Data Organization using C

Object-Oriented Programming for Managers

EECE.2160: ECE Application Programming Spring 2017

The Linux Command Line: A Complete Introduction, 1 st ed., by William E. Shotts, Jr., No Starch Press, 2012.

CS 200, Section 1, Programming I, Fall 2017 College of Arts & Sciences Syllabus

ISM 324: Information Systems Security Spring 2014

CMPE 280 Web UI Design and Development

BRAZOSPORT COLLEGE LAKE JACKSON, TEXAS SYLLABUS. ITNW 2313: NETWORKING HARDWARE Online Course Version COMPUTER TECHNOLOGY DEPARTMENT

PELLISSIPPI STATE COMMUNITY COLLEGE MASTER SYLLABUS LINUX ADVANCED SYSTEM & NETWORK ADMINISTRATION CSIT 2475

CMPE 152 Compiler Design

BOSTON UNIVERSITY Metropolitan College MET CS342 Data Structures with Java Dr. V.Shtern (Fall 2011) Course Syllabus

Introduction to Programming System Design CSCI 455x (4 Units)

CoSci 440 SYLLABUS Programming in C++ INSTRUCTOR Mari Rettke cell SECTION : and 13345

MGMT 4336 Networks & Data Communication Section D10

KOMAR UNIVERSITY OF SCIENCE AND TECHNOLOGY (KUST)

CMPE 152 Compiler Design

Syllabus for CSC 455 Database Systems 3 Credit Hours Spring 2012

CISC 3130 Data Structures Fall 2018

CSE 114, Computer Science 1 Course Information. Spring 2017 Stony Brook University Instructor: Dr. Paul Fodor

CPSC 2380 Data Structures and Algorithms

CSCI 434 INTRODUCTION TO LOCAL AREA NETWORKS (SPRING 2015)

PELLISSIPPI STATE TECHNICAL COMMUNITY COLLEGE MASTER SYLLABUS HPC INTERNETWORKING & GRID TECHNOLOGY HPC 1020

CMPE 152 Compiler Design

Syllabus Revised 08/21/17

Syllabus for HPE 099 Aerobic Proficiency 1 Credit Hour Spring 2015

CPS352 - DATABASE SYSTEMS. Professor: Russell C. Bjork Spring semester, Office: KOSC 242 x4377

Programming Languages CSCE

COSC 115A: Introduction to Web Authoring Fall 2014

PELLISSIPPI STATE TECHNICAL COMMUNITY COLLEGE MASTER SYLLABUS HPC INTERNETWORKING & GRID TECHNOLOGY HPC 1020

Syllabus for HPE 099 Aerobic Proficiency 1 Credit Hour Fall 2012

Big Sandy Community and Technical College. Course Syllabus

Gerlinde Brady Phone: Office Hours: see Web at:

B. Subject-specific skills B1. Problem solving skills: Supply the student with the ability to solve different problems related to the topics

CS 3270 Mobile Development for Android Syllabus

Syllabus for HPE 451 Directed Study 1-3 Credit Hours Spring 2014

NEW YORK CITY COLLEGE OF TECHNOLOGY/CUNY Computer Systems Technology Department

CS503 Advanced Programming I CS305 Computer Algorithms I

Introduction to UNIX

CMPE 180A Data Structures and Algorithms in C++

Developing Web Applications and Services Course Syllabus Fall 2015

CPSC 5157G Computer Networks

Syllabus Revised 03/05/2015

CSCI 6312 Advanced Internet Programming

PELLISSIPPI STATE COMMUNITY COLLEGE MASTER SYLLABUS ADVANCED DATABASE MANAGEMENT SYSTEMS CSIT 2550

INST Database Design and Modeling - Section 0101 Spring Tentative Syllabus

Syllabus Revised 01/03/2018

ECE Object-Oriented Programming using C++ and Java

Oklahoma State University Oklahoma City ITD 1113: Windows Expert User Syllabus Fall, 2014

CPS352 Database Systems Syllabus Fall 2012

SOUTHERN UNIVERSITY AND A&M COLLEGE DEPARTMENT OF MATHEMATICS MATH 250 TOPICS IN GEOMETRY

Computer Science Technology Department

CS 375 UNIX System Programming Spring 2014 Syllabus

University of North Texas ACCT 4100 (3 hours) Accounting Systems. Section Time Place 001 TR 12:30 1:50 p.m. Busi R 6:30-9:20 Busi 231

Transcription:

San Jose State University College of Science Department of Computer Science CS151, Object-Oriented Design, Sections 1 and 2, Spring 2016 Course and Contact Information Instructor: Dr. Kim Office Location: MacQuarrie Hall 217 (MH217) Telephone: 408-924-5122 E-mail: suneuy.kim@sjsu.edu (Preferred mode of contact is via email.) When you send me an e-mail to ask a question, use [Q] in a subject line to get a reply from me within a reasonable response time. Here is an example subject line to ask a question. [Q] lecture note Office Hours: Tuesdays and Wednesdays 9:15 am - 10:15 am Class Days/Time/Classroom Section 1 (Lecture): MW 10:30 am - 11:45 am MacQuarrie Hall 223 (MH223) Section 2 (Lecture): MW 12:00 am - 13:15 am MacQuarrie Hall 223 (MH223) Course Prerequisites: Math 42, CS46B, and CS 49J (or equivalent knowledge of Java) with a grade of C- or better in each or instructor consent. Course Web Site at http://www.cs.sjsu.edu/~kim/cs151 Announcements and course materials will appear here. It is updated frequently. You are strongly encouraged to check out this course web page regularly. Catalog Description Design of classes and interfaces. Value and reference semantics. Object-oriented design methodologies and notations. Design patterns. Reflection and serialization. Exception handling. Graphical user interface programming. Frameworks and components. Multithreading. Course Objectives OO Design: Introduce core UML concepts Introduce a simplified OO analysis and design methodology Present the concept of design pattern Present the concept of a software framework Java Language: Make students proficient in the use and creation of interfaces and inheritance hierarchies Make students proficient in the Java type system Introduce threads and thread safety 1

GUI Programming: Introduce a GUI toolkit, including basic widgets and the event handling mechanism. Student Learning Outcomes Upon successful completion of this course, students should be able to: OO Design Interpret and produce UML class diagrams and UML sequence diagrams Develop simple use cases, perform noun-verb analysis, interpret and produce CRC cards Appropriately select and apply the following design patterns in the construction of a software application: Composite, Decorator, Iterator, Strategy, Template method, and Observer Be able to follow a systematic OO design methodology Java language Create a class hierarchy involving existing and new interfaces and classes, including inner classes. Design, implement, test, and debug programs in an object-oriented language, involving the creation of at least 10 classes and interfaces Implement correctly the equals, hashcode, clone, tostring methods Use serializaton, reflection, and generics Throw, propagate and catch exceptions Implement threads and thread-safe data structures GUI Programming Use a GUI toolkit to create a graphical user interface involving frames, buttons, text components, panels, menus, and simple geometric shapes BS in Computer Science Program Outcomes Supported These are the BSCS Program Outcomes supported by this course: An ability to apply knowledge of computing and mathematics to solve problems An ability to analyze a problem, and identify and define the computing requirements appropriate to its solution An ability to design, implement, and evaluate a computer-based system, process, component, or program to meet desired needs An ability to function effectively on teams to accomplish a common goal An ability to use current techniques, skills, and tools necessary for computing practice An ability to apply mathematical foundations, algorithmic principles, and computer science theory in the modeling and design of computer-based systems in a way that demonstrates comprehension of the tradeoffs involved in design choices An ability to apply design and development principles in the construction of software systems of varying complexity Course Topics 2

Chapter Weeks 2. Object-Oriented Design Process 2 3. Guidelines for Class Design 1.5 4. Interface Types and Polymorphism 1.5 5. Patterns and GUI Programming 2 6. Inheritance and Abstract Classes 2 7. The Java Object Model 2 8. Frameworks 1 9. Multithreading 2 Total 14 Required Texts/Readings Textbook: Cay Horstmann, Object-Oriented Design and Patterns, 2nd ed., John Wiley & Sons, Inc., ISBN 0-471-74487-5 Additional References K. Arnold, J. Gosling and D.Holmes, The Java Programming Language, 4th Ed., Addison-Wesley. M. Fowler, UML Distilled, 3rd Ed., Addison-Wesley. E. Gamma et al., Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley. X. Jia, Object-Oriented Software Development Using Java: Principles, Patterns, and Frameworks, 2nd Ed., Addison-Wesley. Credit Hours Compliance Policy SJSU classes are designed such that in order to be successful, it is expected that students will spend a minimum of forty-five hours for each unit of credit (normally three hours per unit per week), including preparing for class, participating in course activities, completing assignments, and so on. More details about student workload can be found in University Policy S12-3 at http://www.sjsu.edu /senate/docs/s12-3.pdf. NOTE that University policy F69-24 at http://www.sjsu.edu/senate/docs/f69-24.pdf states that â œstudents should attend all meetings of their classes, not only because they are responsible for material discussed therein, but because active participation is frequently essential to insure maximum benefit for all members of the class. Attendance per se shall not be used as a criterion for grading.â Programming Assignments and Project Overview 3

Four programming assignments involving design and implementation. A group project with 3 members per group in the last month of the semester involves OO design and GUI programming. A project description and guidelines will be posted later. All programs must follow the Java language coding guidelines. Unless I specifically ask for hard copies, all assignments will be submitted through my course web page. Find the homework submission link corresponding to your section at the left side of the course web page. Submission/Late Policy Any assignments/project turned in past the deadline will get a penalty: For each late day, a 20% of the maximum obtainable score of the work will be taken out of what you earned. (a late day is one 24 hour period beyond the due date). For example, suppose the maximum score of an assignment is 100 and you earned 80 points. If the submission is late by two days, the final score of the assignme nt would be 80-2 * 20 = 40. Any submission turned in more than 48 hours past the deadline will result i n a grade of zero for that assignment. On-line submission: You can submit your work multiple times. If then, the latest one will be considered as the final submission. If the final submission is late, the late policy will be applied. E-mail submissions will not be accepted for grading. Teamwork Policy Software Once a team is formed, it will last through out the semester. If you dissolve your team, a significant amount of penalty will be determined by the instructor and given to both parties. For the project, students are expected to report their own results as well as their collaborators. The task responsibility and contribution of every team member must be precisely documented in a report. During the project demo, team members are expected to be able to provide correct answers to questions that are specific to their tasks. Team members will be graded individually based on the report, their participation in project demo and peer evaluation. Programming Language: Java Platform SE 7 or higher It is available on all Department machines. Download at http://www.oracle.com/technetwork/java/javase/downloads/index.html StarUML Download at http://staruml.sourceforge.net/en/download.phpa> StarUML Tutorial (to start off) at http://www.owlnet.rice.edu/~comp201/07-spring /info/staruml/ StarUML User Guide at http://staruml.sourceforge.net/en/documentations.php Violet at http://horstmann.com/violet IDE: Eclipse at http://eclipse.org/ NetBeans at http://netbeans.org/ 4

Exams There will be two midterm exams and one comprehensive final exam. The exams are scheduled as below. The dates of midterm exams are subject to change with fair notice, but the final exam date is firm and cannot be changed. Midterm Exam I: TBA Midterm Exam II: TBA Final Exam: Section 1 (MW 10:30 class): Tuesday, May 24 0945-1200 Section 2 (MW 12:00 class): Thursday, May 19 0945-1200 Makeup Exam Policy Absolutely no make-up exams will be offered under any circumstances. For those who couldn't take the exam or worked hard but had a bad day on the exam day ending up with a low score, I offer the following opportunity to possibly replace your worst midterm score with the final score. If your final exam (percentage) grade is higher than your worst midterm (percentage) grade, then I will replace the worst midterm grade with your final exam grade. For example, if you have a 60% on your worst midterm and you receive an 80% on the final exam, I will replace the 60% by 80% in the computation of your course grade. Grading Policy You will receive the final grade based on the weighted average score on your performance. The grading weights are as follows. Exam I: 20 % Exam II: 20 % Final Exam: 30 % Programming Assignments: 20 % Project: 10 % I first try scores of 90, 80, and 70 to cut off letter grades of A-, B-, and C-, respectively. If overall class performance is too low to use these cut offs, I set a cut off of C- to a lower score than the class total average but a higher score than 60 (this number may change), and divide the students' group above the cut off of C- into A+, A, A-, B+, B, B-, C+, C, C-. The rest of students will be given by a grade of D+, D, D-, F or WU depending on their class performance. Note that â œall students have the right, within a reasonable time, to know their academic scores, to review their grade-dependent work, and to be provided with explanations for the determination of their course grades.â See University Policy F13-1 at http://www.sjsu.edu/senate/docs/f13-1.pdf for more details. University Policies 5

Dropping and Adding Students are responsible for understanding the policies and procedures about add/drop, grade forgiveness, etc. Refer to the current semesterâ s Academic Calendars webpage at http://www.sjsu.edu/provost/services/academic_calendars/. The Advising Hub at http://www.sjsu.edu /advising/. Consent for Recording of Class and Public Sharing of Instructor Material University Policy S12-7, http://www.sjsu.edu/senate/docs/s12-7.pdf, requires students to obtain instructorâ s permission to record the course: â œcommon courtesy and professional behavior dictate that you notify someone when you are recording him/her. You must obtain the instructorâ s permission to make audio or video recordings in this class. Such permission allows the recordings to be used for your private, study purposes only. The recordings are the intellectual property of the instructor; you have not been given any rights to reproduce or distribute the material.â â œcourse material developed by the instructor is the intellectual property of the instructor and cannot be shared publicly without his/her approval. You may not publicly share or upload instructor generated material for this course such as exam questions, lecture notes, or homework solutions without instructor consent.â Academic Integrity Students should know that the Universityâ s Academic Integrity Policy is available at http://www.sa.sjsu.edu/download/judicial_affairs/academic_integrity_policy_s07-2.pdf. Your own commitment to learning, as evidenced by your enrollment at San Jose State University and the Universityâ s integrity policy, require you to be honest in all your academic course work. Faculty members are required to report all infractions to the office of Student Conduct and Ethical Development. The website for Student Conduct and Ethical Development is available at http://www.sa.sjsu.edu/judicial_affairs/index.html. Instances of academic dishonesty will not be tolerated. Cheating on exams or plagiarism (presenting the work of another as your own, or the use of another personâ s ideas without giving proper credit) will result in a failing grade and sanctions by the University. For this class, all assignments are to be completed by the individual student unless otherwise specified. Campus Policy in Compliance with the American Disabilities Act If you need course adaptations or accommodations because of a disability, or if you need to make special arrangements in case the building must be evacuated, please make an appointment with me as soon as possible, or see me during office hours. Presidential Directive 97-03 at http://www.sjsu.edu /president/docs/directives/pd_1997-03.pdf requires that students with disabilities requesting accommodations must register with the Accessible Education Center (AEC) at http://www.sjsu.edu/aec to establish a record of their disability. Accommodation to Students' Religious Holidays 6

San Josà State University shall provide accommodation on any graded class work or activities for students wishing to observe religious holidays when such observances require students to be absent from class. It is the responsibility of the student to inform the instructor, in writing, about such holidays before the add deadline at the start of each semester. If such holidays occur before the add deadline, the student must notify the instructor, in writing, at least three days before the date that he/she will be absent. It is the responsibility of the instructor to make every reasonable effort to honor the student request without penalty, and of the student to make up the work missed. See University Policy S14-7 at http://www.sjsu.edu/senate/docs/s14-7.pdf. CS151 Object-Oriented Design, Fall 2015: Semester Schedule Subject to change with fair notice at least one class period in advance Students will be notified in class and/or via course web site should any changes occur > > > Week Dates Topics Assignments 1 2/1 Introduction to CS151 1 2/3 Object-Oriented Design Process 2 2/8 Object-Oriented Design Process 2 2/10 Object-Oriented Design Process Assignment 1 is out 3 2/15 Object-Oriented Design Process 3 2/17 Guidelines for Class Design 4 2/22 Interface Types and Polymorphism 4 2/24 Interface Types and Polymorphism 5 2/29 Interface Types and Polymorphism Assignment 2 is out 5 3/2 Interface Types and Polymorphism 6 3/7 Patterns and GUI Programming 6 3/9 MIDTERM I 7 3/14 Patterns and GUI Programming 7 3/16 Patterns and GUI Programming 8 3/21 Patterns and GUI Programming Assignment 3 is out 8 3/23 Patterns and GUI Programming Team Project is out 3/28 Spring Recess 3/30 Spring Recess 9 4/4 Inheritance and Abstract Classes 9 4/6 Inheritance and Abstract Classes 10 4/11 Inheritance and Abstract Classes 7

10 4/13 Inheritance and Abstract Classes 11 4/18 The Java Object Model Assignment 4 is out 11 4/20 The Java Object Model 12 4/25 MIDTERM II 12 4/27 The Java Object Model 13 5/2 The Java Object Model 13 5/4 Frameworks 14 5/9 Multithreading 14 5/11 Multithreading 15 5/16 Multithreading, LAST DAY OF INSTRUCTION Final Exam Section 2 (MW 12:00 class): Thursday, May 19 0945-1200 Final Exam Section 1 (MW 10:30 class): Tuesday, May 24 0945-1200 8