CMSC 132: Object-Oriented Programming II Nelson Padua-Perez William Pugh Department of Computer Science University of Maryland, College Park.

Slides:



Advertisements
Similar presentations
Introduction to CS170. CS170 has multiple sections Each section has its own class websites URLs for different sections: Section 000:
Advertisements

COMS S1007 Object-Oriented Programming and Design in Java July 8, 2008.
Intro to CIT 594
Intro to CIT 594
ICS 201 Course Overview.
CMSC 132: Object-Oriented Programming II
CSCE156: Introduction to Computer Science II Instructor Stephen Scott Website
1-1 ICS201: Introduction To Computer Science King Fahd University of Petroleum & Minerals College of Computer Science & Engineering Information & Computer.
Course Material: webcourses.kfupm.edu.sa
Final Overview Fawzi Emad Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
CENG 213 Data Structures Department of Computer Engineering Middle East Technical University Fall 2014 CENG 213 Data Structures 1.
July 16, Introduction to CS II Data Structures Hongwei Xi Comp. Sci. Dept. Boston University.
CS-2852 Data Structures LECTURE 1A Andrew J. Wozniewicz Image copyright © 2010 andyjphoto.com.
Intro to CIT 594
COP4020/CGS5426 Programming languages Syllabus. Instructor Xin Yuan Office: 168 LOV Office hours: T, H 10:00am – 11:30am Class website:
Computer Science 102 Data Structures and Algorithms V Fall 2009 Lecture 1: administrative details Professor: Evan Korth New York University 1.
Spring 2008 Mark Fontenot CSE 1341 Principles of Computer Science I Note Set 1 1.
New experiences with teaching Java as a second programming language Ioan Jurca “Politehnica” University of Timisoara/Romania
Welcome to CS 3331, Advanced Object-Oriented Programming Fall 2009 Dept. of Computer Science University of Texas at El Paso.
Data Structures and Programming.  Today:  Administrivia  Introduction to 225, Stacks  Course website: 
CSE 501N Fall ‘09 00: Introduction 27 August 2009 Nick Leidenfrost.
EECE 310 Software Engineering Lecture 0: Course Orientation.
SE-308 Software Engineering-II 7th Term SE University of Engineering & Technology Taxila, Pakistan Software Engineering Department.
CSc 2310 Principles of Programming (Java) Dr. Xiaolin Hu.
Object Oriented Programming (OOP) Design Lecture 1 : Course Overview Bong-Soo Sohn Assistant Professor School of Computer Science and Engineering Chung-Ang.
CSC 212 – Data Structures Prof. Matthew Hertz WTC 207D /
Object Oriented Programming (OOP) Design Lecture 1 : Course Overview Bong-Soo Sohn Associate Professor School of Computer Science and Engineering Chung-Ang.
ICS 102 Computer Programming University of Hail College of Computer Science & Engineering Computer Science and Software Engineering Department.
CIS 068 Welcome to CIS 068 ! Software Design & Data Structures In JAVA Instructor: Rolf Lakaemper Peer Teacher: Aubrey Jones TA: Michael Broscius.
1 Software Systems Development CEN Spring 2011 TR 12:30 PM – 1:45 PM ENB 116 Instructor:Dr. Rollins Turner Dept. of Computer Science and Engineering.
Welcome to CIS 2168 ! Software Design, Data Structures and Algorithms
CSCI 51 Introduction to Computer Science Dr. Joshua Stough January 20, 2009.
Programming-1: Java for non-majors
Selected Topics in Information Technology Programming Language - JAVA Semester 1/2554.
Welcome to CS 115! Introduction to Programming. Class URL Write this down!
Introduction to Data Structures
Computer Science 102 Data Structures and Algorithms CSCI-UA.0102 Fall 2012 Lecture 1: administrative details Professor: Evan Korth New York University.
1 WELCOME TO COMPUTER SCIENCE 1027b COMPUTER SCIENCE FUNDAMENTALS II Lecturers: Eric Schost (001) John Barron (002)
CMSC 2021 CMSC 202 Computer Science II for Majors Fall 2002 Mr. Frey (0101 – 0104) Mr. Raouf (0201 – 0204)
ICS102: Introduction To Computing King Fahd University of Petroleum & Minerals College of Computer Science & Engineering Information & Computer Science.
Course Introduction Andy Wang COP 4530 / CGS 5425 Fall 2003, Section 4.
Object Oriented Programming (OOP) Design Lecture 1 : Course Overview Bong-Soo Sohn Associate Professor School of Computer Science and Engineering Chung-Ang.
Welcome to CIS 2168 ! Data Structures and Algorithms
ICS202 Data Structures King Fahd University of Petroleum & Minerals College of Computer Science & Engineering Information & Computer Science Department.
Intro to CIT 594
Lecture 1: Overview CMSC 201 Computer Science 1. Course Info This is the first course in the CMSC intro sequence, followed by 202 CS majors must pass.
CMSC 2021 CMSC 202 Computer Science II for Majors Spring 2002 Sections Ms. Susan Mitchell.
1 COP 3331 Object Oriented Design Spring 2016 Section 001 F 8:00 AM – 10:45 AM CPR 115 Classroom Lecture 3 credit hours Instructor:Dr. Rollins Turner ENB.
1 Data Structures COP 4530 Spring 2010 MW 4:35 PM – 5:50 PM CHE 101 Instructor:Dr. Rollins Turner Dept. of Computer Science and Engineering ENB
CMSC 2021 CMSC 202 Computer Science II for Majors Spring 2003 Mr. Frey (0101 – 0104) Mr. Raouf (0201 – 0204)
CMPE13Cyrus Bazeghi 1 Welcome to CMPE 13 Computing Systems and C Programming Spring 2009 Cyrus Bazeghi.
Data Structures and Algorithms in Java AlaaEddin 2012.
Principles of Imperative Computation Lecture 1 January 15 th, 2012.
Spring 2008 Mark Fontenot CSE 1341 – Honors Principles of Computer Science I Note Set 1 1.
CS140 – Computer Programming 1 Course Overview First Semester – Fall /1438 – 2016/2017 CS140 - Computer Programming 11.
Course Overview - Database Systems
Andy Wang Object Oriented Programming in C++ COP 3330
CS101 Computer Programming I
CSc 020: Programming Concepts and Methodology II
September 27 – Course introductions; Adts; Stacks and Queues
Course Overview - Database Systems
Andy Wang Object Oriented Programming in C++ COP 3330
EECE 310 Software Engineering
Welcome to CS 1301! Principles of Programming I.
Introduction to Computer Science for Majors II
CSE1311 Introductory Programming for Engineers & Scientists
Intro to CIT 594
Warmup Write a function to add two integer parameters and return the result.
CSCE156: Introduction to Computer Science II
Computer Engineering Department Islamic University of Gaza
Presentation transcript:

CMSC 132: Object-Oriented Programming II Nelson Padua-Perez William Pugh Department of Computer Science University of Maryland, College Park

Course Catalog Description Introduction to use of computers to solve problems using software engineering principles Design, build, test, and debug medium-size software systems. Learn to use relevant tools Use object-oriented methods to create effective and efficient problem solutions Use and implement application programming interfaces (APIs) Programming done in Java

Things You Will Learn Object-oriented software development Modern software development techniques Object-oriented design Algorithms & data structures Lists, trees, graphs Programming skills Java API, IDE, testing, debugging

Why Object-Oriented Programming? Coding is small part of software development Estimated % of time 35%Specification, design 20%Coding, debugging 30%Testing, reviewing, fixing 15%Documentation, support Object-oriented approach makes other parts of software development easier

Course Is Not Just About Java May seem to focus on Java All programming in Java Many interesting Java language features Lessons intended to be general Principles should apply to all languages Ways of thinking about design General ideas about software Can translate skills to other languages

Assume You Already Know Coding Variables, operators, loops, arrays Basic object-oriented programming Classes, methods, inheritance Java Class libraries, exceptions Tools Eclipse IDE, debugger

Where does 132 fit in? CMSC 131 Basic programming skills CMSC 132 Software design & basic algorithms CMSC 212 Low-level programming CMSC 250 Discrete math & logic CMSC 351 Analysis of algorithms

Organization Personnel Instructors Nelson, Pugh Teaching assistants 3 section leaders 2 graders Classes Lectures Labs Office hours

Textbook Required “Objects, Abstractions, Data Structures and Design Using Java” By Elliot Koffman and Paul Wolfgang

Textbook (cont.) Recommended “Java Precisely” By Peter Sestoft

Projects 8 projects Evaluate design, coding, testing skills Tries to involve interesting application areas Networking, user interfaces, data compression Late policy Projects due at 6 pm 20% penalty, up to 9am the next morning Plan to complete all projects on time Good faith attempt Must attempt all projects to pass

Projects (cont.) Environment Eclipse IDE Automated submission & testing Submit server Maintains record of submissions CVS repository May use for research Release testing Can evaluate project using real test cases

Grading Based on Projects, labs, quizzes, midterms, final Point distribution (roughly) 40% Projects 20% Lab assignments & quizzes 10% Midterm #1 10% Midterm #2 20% Final Exam Available on-line

Course Bulletin Board Server Policy on project postings Can ask about specification, setup, tools, etc. Do not ask about design, implementation, etc. Violators may face penalty for academic dishonesty

Academic Honesty All individual assignments & exams must be done individually (except "open" assignments) Do not copy (or allow others to copy) your work in any way Submissions will be compared to submissions from current and previous semesters Cases of academic dishonesty will be referred to the University's Office of Judicial Programs Visit Student Honor Council website for more detailed explanation of academic dishonesty

Excused Absences Students must apply in writing and furnish documentary support for excused absences Support should explicitly indicate the dates or times the student was incapacitated Excused absence does not typically translate into project extensions Students requesting reasonable academic accommodations due to a disability must provide a letter from the Office of Disability Support Services

Course Advice Start projects early Ask questions Read book Attend lectures Attend sections Attend office hours

Topics Preview Object-oriented software development Software life cycle Requirements & specifications Designing objects & classes Testing & code coverage Unified Modeling Language (UML) Programming paradigms Design patterns

Topics Preview Algorithms & data structures Asymptotic efficiency Lists, stacks, queues Trees, tries, heaps Sets, maps, graphs Recursion

Topics Preview Programming skills Javadoc Junit Java collection framework Exceptions Threads, synchronization Java APIs Networking GUIs