Object-Oriented Programming for Managers

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

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

Data Structures and Algorithms

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

Spring 2018 El Camino College E. Ambrosio. Course Syllabus

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

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

CS 3230 Object Oriented UI Development With Java Syllabus

Nashville State Community College Computer and Engineering Technologies Division Computer Information Systems. Master Course Syllabus

INFS 2150 (Section A) Fall 2018

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

McGill University COMP-202A Introduction to Computing I Summer 2006 webct.mcgill.ca

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

ISM 324: Information Systems Security Spring 2014

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

COMP-202C: Foundations of Programming

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

CS 241 Data Organization using C

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

Hours: See Canvas staff information for TA hours.

In this course, you need to use Pearson etext. Go to "Pearson etext and Video Notes".

COMP-202A: Introduction to Computing 1

COMP-202B: Foundations of Programming

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

CISC 3130 Data Structures Fall 2018

CSIS 212 Course Syllabus. Note:

Welcome. Orientation to online CPS102 Computer Science 2 (Java 2)

COMP Foundations of Programming

COMP-202A: Introduction to Computing 1

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

ECE573 Introduction to Compilers & Translators

In this course, you need to use Pearson etext. Go to "Pearson etext and Video Notes".

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

COSC 115A: Introduction to Web Authoring Fall 2014

CS 111: Programming Fundamentals II

Course: Honors AP Computer Science Instructor: Mr. Jason A. Townsend

Dr. Angela Guercio Dr. Natalia Dragan. Spring 2011

Philadelphia University Faculty of Information Technology Department of Computer Science --- Semester, 2007/2008. Course Syllabus

ITCC112. Course Summary. Description. Objectives

Course Title: Computer Networking 2. Course Section: CNS (Winter 2018) FORMAT: Face to Face

CSCI 528: OBJECT ORIENTED PROGRAMMING, Fall 2015

ITCC111. Course Summary. Description. Objectives. Outline

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

Computer Science 1321 Course Syllabus

CSE 504: Compiler Design

Object Oriented Programming

COMP Foundations of Programming

CSCI 434 INTRODUCTION TO LOCAL AREA NETWORKS (SPRING 2015)

This handbook contains directions on using tools and resources in WebAccess at CSM.

Cleveland State University

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

Announcements. 1. Forms to return today after class:

Course Administration

Central Washington University Department of Computer Science Course Syllabus

X

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

I. PREREQUISITE For information regarding prerequisites for this course, please refer to the Academic Course Catalog.

Object Oriented Programming Using C++

KOMAR UNIVERSITY OF SCIENCE AND TECHNOLOGY (KUST)

Advanced Relational Database Management MISM Course F A Fall 2017 Carnegie Mellon University

Computer Science Technology Department

CSCI 201L Syllabus Principles of Software Development Spring 2018

You must pass the final exam to pass the course.

Course Title: Network+/Networking Fundamentals. Course Section: CNS-101-I1. FORMAT: Online

CMSC 341. Shawn Lupoli (substituting for Nilanjan Banerjee) UMBC CMSC 341 Intro 1

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

CSC 172 Data Structures and Algorithms. Fall 2017 TuTh 3:25 pm 4:40 pm Aug 30- Dec 22 Hoyt Auditorium

ITT Technical Institute. SD1420 Introduction to Java Programming Onsite and Online Course SYLLABUS

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

Programming 2. Outline (112) Lecture 0. Important Information. Lecture Protocol. Subject Overview. General Overview.

CISN 340 Data Communication and Networking Fundamentals Fall 2012 (Hybrid)

CS 3030 Scripting Languages Syllabus

Syllabus for CSC 455 Database Systems 3 Credit Hours Spring 2012

ECOM 2314 COMPUTER PROGRAMMING II

Division of Engineering, Computer Programming, and Technology

Introduction to UNIX

New Undergraduate Course Proposal Form

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

Data Structures and OO Development II

COSC 115: Introduction to Web Authoring Fall 2013

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

Art 645 Introduction to Web Site Design Los Angeles City College

Survey of Programming Languages Dr. R. M. Siegfried 407 Science (516) (not for homework submission)

Advanced Relational Database Management MISM Course S A3 Spring 2019 Carnegie Mellon University

PC Applications IT102 estart Fall 2014

San Jose State University - Department of Computer Science

Syllabus for CIT 442 Information System Security 3 Credit Hours Spring 2015

CMPUT 391 Database Management Systems. Fall Semester 2006, Section A1, Dr. Jörg Sander. Introduction

CISC 3130 Data Structures Spring 2018

CS193j Programming in Java

Sakai Forums.

COMP-202B: Introduction to Computing 1

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

Introduction to Data Structures

Fundamentals of Computer Science CSCI 136 Syllabus Fall 2018

NOTE: This syllabus is subject to change during the semester. Please check this syllabus on a regular basis for any updates.

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

HOUSTON COMMUNITY COLLEGE BUSINESS TECHNOLOGY NORTHEAST COLLEGE-NORTHLINE LOCATION COURSE SYLLABUS FALL 2011 COMPUTER APPLICATION I POFI 1301

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

Transcription:

95-807 Object-Oriented Programming for Managers 12 units Prerequisites: 95-815 Programming Basics is required for students with little or no prior programming coursework or experience. (http://www.andrew.cmu.edu/course/95-815/) The course provides an overview of computer programming concepts and object-oriented thinking using the Java programming language. Students will be introduced to general programming concepts such as loops and recursions as well as the specific object-oriented themes of methods, classes, and inheritance. The goal is for the student to cultivate an appreciation and understanding of the impact of these concepts and themes on the management of large-scale software development projects. Instructor Stacey Sabo sabo@andrew.cmu.edu Teaching Assistants See Blackboard, Staff Information Required Textbooks Java: An Introduction to Problem Solving and Programming, 7th Edition, by Walter Savitch Addison-Wesley; ISBN-13: 978-0133766264 ISBN-10: 0133766268 Software JDK - You will download and install the JDK as part of your first assignment. Program Editor You are free to choose a program editor of your choice. There are many editors available such as Eclipse, NetBeans, jgrasp, DrJava, BlueJ, and TextPad. The advantage of using a java-aware editor is that the editor will catch syntax errors. Eclipse is a popular IDE which is demonstrated in one of the lectures. You can also use this editor for this class. It is a common editor used in the industry, however it is much more complex and feature rich than TextPad. Most of these features are not necessary for this class. Submitting Assignments Assignments are submitted in a zip file to Blackboard through the Assignments page. Please note, when submitting your assignment, you must click the Submit button. Uploading your files and clicking the Save As Draft button will not submit your assignment for grading. Assignments are due by 11pm EST on the due date. Your CMU Andrew id and the assignment number (ie Assignment1, Assignment2, etc) must be on your submittals (at the top of the first page if it's a Word document, in the program comments if it's a program, etc). Part of your assignment grade depends on how the assignment is submitted. Submittal requirements include the format and, in some cases, that the software must run "out of the box". In the past some students questioned why point deductions are taken for packaging. First, in this programming course for which you are delivering software, I want you to understand the effort of packaging software. Just as for software delivered to a customer, it must run on the first attempt. Second, attention to packaging often leads to higher qualify software. Third, consistency is needed for TA grading efficiency.

Academic Integrity Be sure to review and understand the Heinz College and Carnegie Mellon policies on Academic Integrity. You can find the policies in your student handbook and online. The academic integrity standards outlined in your student handbook will be strictly enforced in this class. Penalties for cheating and plagiarism are determined by the instructor and can range from receiving a zero on the assignment to a failing grade in the course. The instructor can recommend to the Dean that the student receive a more serious penalty based on the severity of the offense. Collaboration is not permitted in this class. Keep the following guidelines in mind when discussing the programming assignments with others. Acceptable You may discuss the requirements of the assignment, but not specifics, such as code You may discuss general approaches to solving the assignment including textbook and lecture references, but not specifics, such as code You may refer to code samples from the textbook, lectures and class handouts Not Acceptable and Considered Cheating You may not discuss specific code You may not look at or copy other s assignment code, in whole or in part You may not have someone else write code for you You may not copy code you find on the web You may not submit another s work as your own You may not have in your procession other students assignments or exams from the current or past semesters You may not share your assignment code with others You may not use an alternate, stand-in, or proxy during an exam You may not receive help from someone else during an exam If students are found to be sharing code, both the student who shared their code and the student who used the code will be found in violation of the academic integrity policy. All students involved will be penalized equally.

Blackboard Discussion Forum Assignments Some weeks we will have a discussion topic about common technologies to share up-to-date information and to tell "real work" stories and examples. Forum postings contribute to the forum participation part of your grade. You get credit for a reply post, or you can begin a new post within the same topic. Your forum grade is based upon the value you add to the discussion. Do not expect a good grade for postings such as, "Good point." or "I agree." The purpose of the forum discussion assignments is to generate some conversation about topics relevant to OOP and managing development projects. This class has a wide variety of experience and we can all learn from each other by sharing our thoughts and stories. The topics are listed in the syllabus at the start of the semester; however, the actual forum will not be available to submit your postings until the week it appears on the class schedule. Some of the discussions will require a little research and leg work on your part to participate. However, when posting, I expect you to post your comments, thoughts, summaries and experiences. I want you to think critically about what you are reading during your research and other postings and challenge them if you disagree and add your thoughts if you agree. Do not copy and paste a great article you found or combine several articles and submit it as your thoughts. That is plagiarism and will result in a 0 as your score for that forum. Sometimes you will find a great quote while researching and want to share it. That is fine, but you MUST cite it. And I will expect comments and discussion about the quote, not just "Here s a great quote I found when Googling OOP." Assignment Grading Late assignments will lose 10% of the grade per 24 hour period. No exceptions will be made. Assignments will not be accepted if they are more than a week late. Assignments, due dates and the lecture and reading schedule are available so you can plan ahead. If you know a particular week will be extremely busy for you because of other classes or employment, you can work ahead and submit assignments before the actual due date. No adjustments or exceptions will be made for late assignments. Questions? We will also use the Blackboard Discussion forums for class and assignment related questions and comments. You are encouraged to post questions, comments and respond to other posts and questions on the Blackboard Discussion Forums. To get help on an assignment that will require you to share specific code or details, you can send email to the instructor or teaching assistants. Final Grade Final grades will be weighted as follows: Assignments: 30% Discussion Forums: 20% Midterm Exam: 20% Final Exam: 30% Your final grade will be calculated based upon the Grading Standards outlined in the Heinz College Student Handbook. The Heinz College faculty has endorsed guidelines for grades. The mean grade in a core class should be 3.33-3.42 and in advanced core, concentration and elective courses it should be 3.5.

95-807 Object-Oriented Programming for Managers Tentative Course Outline and Schedule Week 1: May 22, 2017 Basics of OOP, first Java program, programming environment, program control Ch 1 Intro to Computers and Java Ch 2 Basic Computation Ch 3 Flow of Control: Branching Lecture: Lecture 1 (17:00-end), 2 and 3 Discussion Forum: Forum Due: Your Background May 28, 2017, 11pm EST Week 2: May 29, 2017 Program Control, Classes and Methods Ch 4 Flow of Control Loops Ch 5 Defining Classes and Methods Lecture: Lecture 4, 5 and 6 Assignment: Assignment 1 June 4, 2017, 11pm EST Week 3: June 5, 2017 Packages, access specifiers, composition, inheritance, constructors, finals, class loading, accessor/mutator (getter/setter) methods Ch 6 More About Objects and Methods Lecture: Lecture 7 and 8 Week 4: June 12, 2017 Polymorphism, abstract classes ch 8 Inheritance, Polymorphism, and Interfaces Lecture: Lecture 9 and 10 Assignment: Assignment 2 June 25, 2017, 11pm EST Week 5: June 19, 2017 Interfaces and inner classes Lecture: Lecture 11 and 12 Discussion Forum: Forum Due: Benefits of Object Oriented Programming Methodologies July 9, 2017, 11pm EST

Week 6: June 26, 2017 Exception Handling, Streams, File I/O, and Networking Ch 9 Exception Handling Ch 10 Streams, File I/O, and Networking Lecture: Lecture 17 Assignment: Midterm Due: Midterm Exam July 2, 2017, 11pm EST Week 7: July 3, 2017 Arrays, Collections and Iterators Ch 7 Arrays Ch 12 Dynamic Data Structures and Generics Lecture: Lecture 13 and 14 Assignment: Assignment 3 July 16, 2017, 11pm EST Week 8: July 10, 2017 Applets, Applications, Swing Ch 13 Window Interfaces using Swing (online chapter) Lecture: Lecture 15 and 16 Week 9: July 17, 2017 Applets, Applications, Swing Ch 15 More Swing (0nline chapter) Lecture: Lecture 18 Assignment: Assignment 4 July 30, 2017, 11pm EST Week 10: July 24, 2017 Recursion, Threads Ch 11 Recursion Lecture: Lecture 19 Week 11: July 31, 2017 JDBC Lecture: Lecture 20

Final Exam: August 4, 2017 August 11, 2017 Final Exam Available: August 4, 2017 8am EST Final Exam Due: August 11, 2017 11pm EST Assignment Due Dates Your Background Discussion Forum Assignment 1 Assignment 2 Midterm Exam OOP Discussion Forum Assignment 3 Assignment 4 Final Exam May 28, 2017, 11pm EST June 4, 2017, 11pm EST June 25, 2017, 11pm EST July 2, 2017, 11pm EST July 9, 2017, 11pm EST July 16, 2017, 11pm EST July 30, 2017, 11pm EST August 11, 2017 11pm EST