INFSCI 0017 Fundamentals of Object- Oriented Programming



Similar documents
INFSCI 1017 Implementation of Information Systems

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

Introduction to Java Programming ITP 109 (2 Units) Fall 2015

CS 2302 Data Structures Spring 2015

Introduction to Computer Programming (CS 1323) Project 9

MATH 2103 Business Calculus Oklahoma State University HONORS Spring 2015 Instructor: Dr. Melissa Mills 517 Math Sciences

Sample Syllabus (C++) CSCI 1301 Introduction to Programming Principles

Computer Programming I

RARITAN VALLEY COMMUNITY COLLEGE ACADEMIC COURSE OUTLINE. CISY 105 Foundations of Computer Science

Syllabus for CS 134 Java Programming

CS A250 (CRN ) C++ Programming Language 2. Syllabus Fall 2015

CSCI 528: OBJECT ORIENTED PROGRAMMING, Fall 2015

Introduction to Information Technology ITP 101x (4 Units)

Major Topics Covered in the Course

NEW YORK CITY COLLEGE OF TECHNOLOGY/CUNY Computer Systems Technology Department. COURSE: CST2403 C++ Programming Part 1 ( 4 hours, 3 credits )

CS 4330: Mobile Application Development Spring 2015

CS 425 Software Engineering. Course Syllabus

Syllabus COMP 517 Computer Security Penn State Harrisburg Fall 2009

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

CS 4240: Principles of Software Design. Course Introduction. Tom Horton

CS135 Computer Science I Spring 2015

Computer Science 1015F ~ 2010 ~ Notes to Students

How To Teach C++ Data Structure Programming

Sociology 302: Contemporary Social Problems

The University of Akron Department of Mathematics. 3450: COLLEGE ALGEBRA 4 credits Spring 2015

SYLLABUS MAC 1105 COLLEGE ALGEBRA Spring 2011 Tuesday & Thursday 12:30 p.m. 1:45 p.m.

CS 425 Software Engineering

CS 425 Software Engineering. Course Syllabus

Interactive Web Development ITP 301 (4 Units)

Geography 676 Web Spatial Database Development and Programming

Course: ISYS 4373 Application Development with Java Prerequisite: ISYS 3293

CMSC Fundamentals of Computer Programming II (C++)

COURSE SYLLABUS EDG 6931: Designing Integrated Media Environments 2 Educational Technology Program University of Florida

COMP-202B: Foundations of Programming

PLV Goldstein 315, Tuesdays and Thursdays, 6:00PM-7:50PM. Tuesdays and Thursdays, 4:00PM-5:30PM and 7:50PM 9:30PM at PLV G320

BMI 540: Computer Science with Java Programming Oregon Health & Science University

EPI 820/CPH504: Epidemiology in Public Health (Online)

Computer Science CS 2334: Programming structures and abstractions

1. COURSE DESCRIPTION

Syllabus: IST451. Division of Business and Engineering. Penn State Altoona

Software Development Foundations CPSC Spring 2014 Syllabus

COURSE TEXTBOOK [Insert required course text academic format for book listing with ISBN# and edition]

Financial Calculator (any version is fine but access to a support manual is critical)

COURSE APPROVAL DOCUMENT Southeast Missouri State University

COLLIN COUNTY COMMUNITY COLLEGE DISTRICT DIVISION OF BUSINESS, INFORMATION & ENGINEERING TECHNOLOGIES COURSE SYLLABUS REAL ESTATE MARKETING

Computer Science III Advanced Placement G/T [AP Computer Science A] Syllabus

CSC-570 Introduction to Database Management Systems

MATH 245 COLLEGE ALGEBRA Section :55 1:30

Gustavus Adolphus College Department of Economics and Management E/M : MARKETING M/T/W/F 11:30AM 12:20AM, BH 301, SPRING 2016

CS 1361-D10: Computer Science I

MATH 1900, ANALYTIC GEOMETRY AND CALCULUS II SYLLABUS

CS 300 Data Structures Syllabus - Fall 2014

IT 106 Introduction to IT Problem Solving Using Computer Programming revised

BADM323: Information Systems for Business Professionals SU2016 Online Course

FIN 430: Financial Modeling (Spring 2016) Professor Russell Jame Course Overview and Objectives Course Prerequisites Required Materials

ITP 300: Database Web Development. Database Web Development (Monday section) Fall 2012 Course Units

UNIVERSITY OF MICHIGAN SCHOOL OF INFORMATION SI301: Models of Social Information Processing Syllabus

Introduction to Computer Programming Course Syllabus Fall 2015

Summit Public Schools Summit, New Jersey Grade Level / Content Area: Mathematics Length of Course: 1 Academic Year Curriculum: AP Computer Science A

Required Textbook: Customer Service: A Practical Approach; 6th Edition, by Elaine K. Harris, Prentice Hall, ISBN

City University of Hong Kong Course Syllabus. offered by Department of Computer Science with effect from Semester A 2015/16

Bishop State Community College Distance Education Policy

MGMT 360 (Hybrid) Organizational Theory

Using MyMathLab. Features

ISM 3254 Business Systems I

AP Computer Science A Syllabus

Syllabus Introduction to C++ Programming and Numerical Analysis Spring 2016

Decision Logic: if, if else, switch, Boolean conditions and variables

CSCE 314 Programming Languages

AP Computer Science A - Syllabus Overview of AP Computer Science A Computer Facilities

ENVIRONMENTAL SCIENCE LAB (FOR MAJORS) ESCI ) Teach practical skills for use in the lab and field.

COURSE SYLLABUS. ESE 544/444 Project Management

CSE 307: Principles of Programming Languages

CHEM 1305: SURVEY OF GENERAL CHEMISTRY COURSE INFORMATION

COURSE OUTLINE. Prerequisites: Course Description:

RED DEER COLLEGE DEPARTMENT OF HUMANITIES AND SOCIAL SCIENCES ECON 201 C Introduction to Microeconomics Fall 2014

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

Canisius College Computer Science Department Computer Programming for Science CSC107 & CSC107L Fall 2014

Course Syllabus: English 1301 Section 2P and Section 6P Dual Credit

Department of Electrical and Computer Engineering. EEL 3160 Embedded C++ and Data Structures. Tuesday & Thursday 3:00 5:00 pm

Business Ethics (BUS 105) Cycle II, Spring, 2012 Semester

SYLLABUS Fall 2013 MATH 115 ELEMENTARY STATISTICS. Class Section Name (on WileyPlus):

CompuScholar, Inc. Alignment to Utah's Computer Programming II Standards

Abuse and Illness in Families

SI 539, Winter 2014 Complex Web Design

Chemistry 511 Inorganic Chemistry Fall 2004 KEEP THIS SYLLABUS FOR FUTURE REFERENCE

CSS 341 : Fundamentals of Programming Theory and Applications Course Syllabus-Autumn 2012

William Paterson University of New Jersey Department of Computer Science College of Science and Health Course Outline

WILLIAM PATERSON UNIVERSITY Department of English ENG 2070: Effective Business Writing Winter Semester: December 22, 2014 January 11, 2014

Texas A&M-Commerce Department of Social Work. SWK 590: Research Literature and Techniques Monday 6:00 p.m. - 9:00 p.m. Commerce Campus FALL 2012

El Dorado Union High School District Educational Services

MAC2233, Business Calculus Reference # , RM 2216 TR 9:50AM 11:05AM

Transcription:

INFSCI 0017 Fundamentals of Object- Oriented Programming Term: Fall 2013 Time: Thursdays 6:00 8:30 Location: Information Science Building, Room 404 Instructor: Dmitriy Babichenko Instructor s Email: dmb72@pitt.edu Office Hours: Mondays, 3-4 PM and Thursdays 2:00 4:00 PM Office Address: Room 722, Information Sciences Building TA: Sabrina Murphy Instructor s Email: SCM56@pitt.edu Office Hours: Thursdays, 1:30 PM - 3:30 PM Office Address: Room 721, Information Sciences Building TA: Jordan Feldman Instructor s Email: jsf37@pitt.edu Office Hours: Tuesdays, 3:00 PM 5:00 PM Office Address: Room 721, Information Sciences Building Course Description: INFSCI 0017 is the first JAVA programming course that provides fundamental skills needed to understand, design and maintain enterprise-scale information systems. This course follows an architecture-centric approach to programming in contrast to the algorithm-centric approach in computer science. This course is strongly preferred over CS 401, especially for students who plan to take INFSCI 1017 or 1025. Designed for students with no previous programming experience, the course introduces the object-oriented programming paradigm followed by JAVA language basics

applied in a sound architectural context. Thorough treatment of interfaces, inheritance, abstract classes and polymorphism. This is an active learning course where students complete a realistic sequence of programming assignments using Eclipse, the leading JAVA integrated development environment (IDE). Textbook: Big Java: Early Objects by Cay Horstmann (required) 1. Paperback edition: http://www.amazon.com/big- Java- Cay- S- Horstmann/dp/1118431111/ref=tmm_pap_title_0?ie=UTF8&qid=1372427486&sr=8-1 2. Kindle edition: http://www.amazon.com/big- Java- Objects- Edition- ebook/dp/b00cuspgwc/ref=tmm_kin_title_0?ie=utf8&qid=1372427486&sr=8-1 Objectives: Upon successful completion of this course, the student will be able to: 1. Understand and make proper use of core programming concepts such as data types, operators, and control structures in Java 2. Effectively use Eclipse IDE (Integrated Development Environment) to develop and manage Java software projects 3. Write human- readable code that complies with widely- accepted coding style guidelines 4. Develop programs that appropriately utilize object- oriented concepts such as abstract classes, inheritance, interfaces and polymorphism 5. Write effective in- code comments and generate documentation using JavaDoc tools 6. Employ effective unit- testing techniques using JUnit testing framework Course Schedule (tentative, subject to change): Week Date Topic(s) Details 1 8/29 Introduction and overview Introduction to course Java overview Introduction to Eclipse IDE Hello World program 2 9/5 Variables Variables (math vs. programming) Data types Brief introduction to objects (classes vs. objects) Code documentation/introduction to JavaDocs 3 9/13 Control structures If/else Switch/case 4 9/19 Iteration/Loops For loop While loop

Do/While loop 5 9/26 Introduction to objects Introduction to objects Classes vs. objects Properties Methods Visibility 6 10/3 Object design and testing Abstraction Class constructors Method overloading Coupling vs. cohesion Java API / API documentation JavaDoc tools Unit testing / introduction to JUnit 7 10/10 In- class lab Midterm preparation 8 10/17 Midterm 9 10/24 Arrays Lists in Java Arrays ArrayLists 10 10/31 In- class lab Designing objects 11 11/7 Object relationships Working with text files Inheritance Association Aggregation Composition File I/O Abstract classes 12 11/14 Java UI tools WindowBuilder 13 11/21 Advanced topics Introduction to recursion Polymorphism 14 11/28 Thanksgiving Break 15 12/4 In- class lab Help/questions with final project 16 12/12 Final project due Quizzes: Each class will begin with a short 5- question quiz. Each quiz will be worth 20 points. All questions will be based on class lectures and reading assignments from the previous week. There will be no make- up quizzes, but at the end of the semester I will drop one lowest quiz grade. Take- Home Assignments: All take- home assignments, the midterm and the final project will be individual you are not allowed to work in teams. Assignments will be graded as follows:

If your program doesn t compile, you will automatically lose 25 points (the maximum grade that you will be able to receive is 75, or C+) If your program compiles but does not run, you will automatically lose 20 points (the maximum grade that you will be able to receive is 80, or B- ) If your program is missing documentation (when required by assignment), you will lose 2 points per missing documentation instance, up to 10 points per project If your program is missing use cases (when required by assignment), you will lose 5 points per missing use case instance, up to 20 points per project Things that could also affect your grade: o Logic errors in your programs (your program runs incorrectly/produces incorrect results) o Not following requirements (your program does not produce results required by the assignment) o Not following accepted coding standards/naming conventions Submission Guidelines: All assignments must be submitted via email sent to the course instructor (dmb72@pitt.edu). All assignments must be submitted via the CourseWeb (courseweb.pitt.edu). The due date for all programming assignment is the end of the day (11:59pm) BEFORE the lecture. Each project must be zipped into a single file using standard.zip format. That file will contain all source code, documentation and any external libraries used in your project. The final zipped file must be titled with the last name of the author, number of the assignment and course number separated by underscores. For example, if your last name is Doe and you are submitting assignment 2, your final file should be named Doe_Assignment2_INFSCI0007.zip. You will lose 2 points for every submission that does not follow this naming convention. Name of the course (INFSCI0017) and the name of the assignment you are submitting must also be in the email subject line. Late Submissions: Projects/assignments submitted after due date will be accepted, but your overall grade for that project/assignment will be reduced by 10% of the grade for every business day after the submission deadline. For example, if you will submit your work one week late, you will lose 50% of the grade. Grading Policy: 1. Participation/In- class exercises: 10% 2. Quizzes: 20% 3. Assignments: 30% 4. Midterm project: 20% 5. Final project: 20% Grading Scale:

98 <= A+ 92 <= A < 98 90 <= A- < 92 88 <= B+ < 90 82 <= B < 88 80 <= B- < 82 78 <= C+ < 80 72 <= C < 78 70 <= C- < 72 60 <= D < 70 F < 60 Academic Integrity: Cheating/plagiarism will not be tolerated. All work must be your own, unless collaboration is specifically and explicitly permitted as in the course group project. Any unauthorized collaboration or copying will at minimum result in no credit for the affected assignment and may be subject to further action under the University Guidelines for Academic Integrity (http://www.provost.pitt.edu/info/ai1.html). You may incorporate excerpts from publications by other authors, but they must be clearly marked as quotations and properly attributed. You may discuss your ideas with others, but all substantive writing and ideas must be your own, or else be explicitly attributed to another, using a citation sufficiently detailed for someone else to easily locate your source. Disability: If you have a disability for which you are or may be requesting an accommodation, you are encouraged to contact the Instructor and Disability Resources and Services, 216 William Pitt Union, (412) 648-7890 / (412) 383-7355 (TTY), as early as possible in the term. Disability Resources and Services reviews documentation related to a student's disability, provides verification of the disability, and recommends reasonable accommodations for specific courses.