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

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 José State University Department of Computer Science CS151, Section 04 Object Oriented Design Spring 2018

San Jose State University - Department of Computer Science

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

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

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, 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 CS 152, Programming Language Paradigms, Section 03/04, Fall, 2018

CMPE/SE 135 Object-Oriented Analysis and Design

CMPE 152 Compiler Design

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

CS/SE 153 Concepts of Compiler Design

CS/SE 153 Concepts of Compiler Design

Course and Contact Information. Course Description. Course Objectives

Course and Contact Information. Course Description. Course Objectives

San José State University Computer Science CS 122 Advanced Python Programming Spring 2018

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

Object-Oriented Programming for Managers

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

CMPE 152 Compiler Design

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

CMPE 180A Data Structures and Algorithms in C++

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

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

CMPE 152 Compiler Design

CMPE 280 Web UI Design and Development

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

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

Spring 2018 El Camino College E. Ambrosio. Course Syllabus

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 College of Science/Department of Computer Science CS152, Programming Paradigms, Sections 1 & 2 Spring Semester, 2018

CMPE 280 Web UI Design and Development

CS157a Fall 2018 Sec3 Home Page/Syllabus

Advanced Programming CMPS 109

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

3D Graphics Programming Mira Costa High School - Class Syllabus,

San José State University Department of Computer Science CS158B, Computer Network Management, Section 1, Fall 2016

ECE Object-Oriented Programming using C++ and Java

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

CS 241 Data Organization using C

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

ESET 349 Microcontroller Architecture, Fall 2018

CPS352 Database Systems Syllabus Fall 2012

Oklahoma State University Institute of Technology Face-to-Face Common Syllabus Fall 2017

Object-Oriented Programming CSCI-UA

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

ENCE 688R Civil Information Systems

CS 3270 Mobile Development for Android Syllabus

Course and Contact Information. Catalog Description. Course Objectives

AE Computer Programming for Aerospace Engineers

INFS 2150 (Section A) Fall 2018

Cleveland State University

ESET 369 Embedded Systems Software, Fall 2017

Course Administration

Compulsory course in Computer Science

CS 241 Data Organization. August 21, 2018

Basics of Java Programming CS129 LTPC:

CS 111: Programming Fundamentals II

Programming Languages CSCE

COSC 115A: Introduction to Web Authoring Fall 2014

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

CASPER COLLEGE COURSE SYLLABUS MSFT 1600 Managing Microsoft Exchange Server 2003 Semester/Year: Fall 2007

KOMAR UNIVERSITY OF SCIENCE AND TECHNOLOGY (KUST)

CISC 3130 Data Structures Fall 2018

CSCE 441 Computer Graphics Fall 2018

ESET 369 Embedded Systems Software, Spring 2018

CPSC 2380 Data Structures and Algorithms

Optimized C++ o Websites and handouts Optional: Effective C++, Scott Meyers. Fall 2013

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

CSC 111 Introduction to Computer Science (Section C)

1. General Information Course Title: CSCI-605 Advanced Object-Oriented Programming Concepts Instructor: Hans-Peter Bischof Office: Telephone:

Web Client Side Programming

Syllabus COSC-051-x - Computer Science I Fall Office Hours: Daily hours will be entered on Course calendar (or by appointment)

CSCI 201L Syllabus Principles of Software Development Spring 2018

CSE 504: Compiler Design

COLLEGE OF THE DESERT

Introduction to Computer Systems

COSC 115: Introduction to Web Authoring Fall 2013

CSCI 528: OBJECT ORIENTED PROGRAMMING, Fall 2015

INST Database Design and Modeling - Section 0101 Spring Tentative Syllabus

San José State University College of Science / Computer Science Department Data BS Management Systems 2, CS 157B-02, Spring, 2017

Data Structures and Algorithms

BCS Higher Education Qualifications. Diploma in IT. Object Oriented Programming Syllabus

EECE.2160: ECE Application Programming Spring 2017

INF 315E Introduction to Databases School of Information Fall 2015

INFSCI 1017 Implementation of Information Systems Spring 2017

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

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

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

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

COWLEY COLLEGE & Area Vocational Technical School

(Movement - Synthesis) Improve existing programming skills by developing much larger and more complex programs than in previous classes.

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

ECE573 Introduction to Compilers & Translators

Syllabus CSCI 405 Operating Systems Fall 2018

Fundamentals of Computer Science CSCI 136 Syllabus Fall 2018

University of Maryland at College Park Department of Geographical Sciences GEOG 477/ GEOG777: Mobile GIS Development

Outline. Logistics. Logistics. Principles of Software (CSCI 2600) Spring Logistics csci2600/

Transcription:

San José State University Department of Computer Science CS151, Object Oriented Design, Section 04, Fall, 2016 (42968) Course and Contact Information Instructor: Office Location: Vidya Rangasayee MH229 Telephone: (408) 924-5060 Email: Office Hours: Class Days/Time: vidya.rangasayee@sjsu.edu TR 9:30am 10:30am (Additional hours by appointment) TR 10:30am 11:45am Classroom: Science 164 Prerequisites: CS 46B Introduction to Data Structures or equivalent programming experience. Course Format : Technology Intensive Faculty Web Page and MYSJSU Messaging Course materials will be available on Canvas at https://sjsu.instructure.com Please use piazza for all course discussions including private messages to the instructor Course Description Introduce students to the basic principles of OO Design, plus elements of UML and design patterns. Cover the Java language features not yet seen in CS1 and CS2. Teach basic GUI programming. Course Learning Outcomes (CLO) Upon successful completion of this course, students will be able to: 1. OO Design: a. Introduce core UML concepts b. Introduce a simplified OO analysis and design methodology c. Present the concept of design pattern d. Present the concept of a software framework 2. Java Language:

a. Make students proficient in the use and creation of interfaces and inheritance hierarchies b. Make students proficient in the Java type system c. Introduce threads and thread safety 3. GUI Programming: a. Introduce a GUI toolkit, including basic widgets and the event handling mechanism. Student Learning Outcomes Upon successful completion of this course, you should be able to: 1. OO Design a. Interpret and produce UML class diagrams and UML sequence diagrams b. Develop simple use cases, perform noun-verb analysis, interpret and produce CRC cards c. Appropriately select and apply the following design patterns in the construction of a software application: Composite, Decorator, Iterator, Strategy, Template method, and Observer d. Be able to follow a systematic OO design methodology 2. Java language a. Create a class hierarchy involving existing and new interfaces and classes, including inner classes. b. Design, implement, test, and debug programs in an object-oriented language, involving the creation of at least 10 classes and interfaces c. Implement correctly the equals, hashcode, clone, tostring methods d. Use serialization, reflection, and generics e. Throw, propagate and catch exceptions f. Implement threads and thread-safe data structures 3. GUI Programming a. Use a GUI toolkit to create a graphical user interface involving frames, buttons, text components, panels, menus, and simple geometric shapes Required Texts/Readings Textbook Cay Horstmann, "Object-Oriented Design & Patterns," 2nd edition, Wiley Publishers, Inc. ISBN-13: 978-0471744870 (This textbook is optional and used more as a guideline for the order of topics rather than content) Other Readings 1. E. Gamma et al., Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley. 2. K. Arnold, J. Gosling and D.Holmes, The Java Programming Language, 4th Ed., Addison-Wesley. 3. M. Fowler, UML Distilled, 3rd Ed., Addison-Wesley. 4. X. Jia, Object-Oriented Software Development Using Java: Principles, Patterns, and Frameworks, 2nd Ed., Addison-Wesley. Other technology requirements / equipment / material Programming Language: Java Platform SE 7 or higher It is available on all Department machines. Download: http://www.oracle.com/technetwork/java/javase/downloads/index.html

StarUML Download: http://staruml.sourceforge.net/en/download.php StarUML Tutorial (to start off): http://www.owlnet.rice.edu/~comp201/07-spring/info/staruml/ StarUML User Guid: http://staruml.sourceforge.net/en/documentations.php Violet: http://horstmann.com/violet IDE: Eclipse: http://eclipse.org/ NetBeans: http://netbeans.org/ Course Requirements and Assignments Programming assignments There will be several programming assignments some of which are team based. For team based assignments, all members will get the same grade. Each team is responsible for choosing a team lead and dividing up the work among the team members. You are personally responsible for participating and contributing to your team's work, and for understanding each part of the work for every assignment whether or not you worked on that part. Programs must be appropriately documented via javadoc comments and should adhere to the coding style posted on the CS Department web page: http://www.cs.sjsu.edu/web_mater/java_code.html. Unless asked for specifically, all assignments must be submitted electronically. Instructions for this will be on the first assignment. To learn time management, each assignment is worth a maximum of 100 points. Late assignments will lose 20 points and an additional 20 points for each 24 hours after the due date. Exams The midterm and final examinations will be open book, open notes. Instant messaging, e-mails, texting, tweeting, or other communication with anyone else during the exams will be considered cheating and strictly forbidden. The current schedule for exams is Midterm*: see Course Schedule Final Exam*: See Course Schedule * - all exams will be online on Canvas and will be open on the day of the exam. Grading Policy Your individual class grade will be weighted as follows: 60% Individual and Team Assignments 15% Midterm exam 25% Final exam 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.

Classroom Protocol Please: Be on time! No texting! Set your cell phones in silent mode! Participate in the class activities as much as you can. Be patient about strange, easy questions from students. Feel free to ask questions yourself. Let's make a comfortable and respectful environment for presenting any idea. Start on your homework early and stay on top of them. Some assignments take way more time than you expect. Have fun learning. University Policies Per University Policy S16-9, university-wide policy information relevant to all courses, such as academic integrity, accommodations, etc. will be available on Office of Graduate and Undergraduate Programs Syllabus Information web page at http://www.sjsu.edu/gup/syllabusinfo/ CS151, Fall 2016 - Course Schedule This is a tentative schedule for this semester. This is subject to change with sufficient notice and will be informed through Canvas/Piazza Week Date Topics, Readings, Assignments, Deadlines 1 NA 1 8/25/2016 Introduction Object Oriented Design 2 8/30/2016 Object Oriented Concepts 2 9/1/2016 Object Oriented Concepts 3 9/6/2016 Guidelines for Class Design 3 9/8/2016 Guidelines for Class Design 4 9/13/2016 Guidelines for Class Design 4 9/15/2016 Interface Types and Polymorphism 5 9/20/2016 Interface Types and Polymorphism 5 9/22/2016 Interface Types and Polymorphism 6 9/27/2016 Inheritance and Abstract Classes

6 9/29/2016 Inheritance and Abstract Classes 7 10/4/2016 Patterns and GUI 7 10/6/2016 Junit 8 10/11/2016 Design Patterns 8 10/13/2016 Design Patterns 9 10/18/2016 Design Patterns 9 10/20/2016 MIDTERM (ONLINE) 10 10/25/2016 Java Object Model and Frameworks 10 10/27/2016 Reflection 11 11/1/2016 MultiThreaded Programming 11 11/3/2016 MultiThreaded Programming 12 11/8/2016 MultiThreaded Programming 12 11/10/2016 Network Programming 13 11/15/2016 Network Programming 13 11/17/2016 Network Programming 14 11/22/2016 Serialization and Document Read/write 14 11/24/2016 THANKGIVING NO CLASS 15 11/29/2016 PROJECT WORK 15 12/1/2016 PROJECT WORK 16 12/6/2016 Databases and JDBC 16 12/8/2016 Project Demos/Finals Review 17 12/13/2016 Project Demos/Finals Review 17 12/15/2016 Final Exam (WEDNESDAY) - ONLINE