CMSC 132: Object-Oriented Programming II

Slides:



Advertisements
Similar presentations
Introduction to Computer Programming I CSE 113
Advertisements

Introduction to CS170. CS170 has multiple sections Each section has its own class websites URLs for different sections: Section 000:
COMS S1007 Object-Oriented Programming and Design in Java July 8, 2008.
Intro to CIT 594
CS/CMPE 535 – Machine Learning Outline. CS Machine Learning (Wi ) - Asim LUMS2 Description A course on the fundamentals of machine.
Intro to CIT 594
ICS 201 Course Overview.
CS 331 / CMPE 334 – Intro to AI CS 531 / CMPE AI Course Outline.
CMSC 132: Object-Oriented Programming II Nelson Padua-Perez William Pugh Department of Computer Science University of Maryland, College Park.
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
Midterm 1 Overview Fawzi Emad Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
Final Overview Fawzi Emad Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
COMS S1007 Object-Oriented Programming and Design in Java July 3, 2007.
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:
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.
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!
1 Principles of Computer Science I Note Set 1 CSE 1341.
Introduction to Data Structures
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.
Principles of Computer Science I Honors Section Note Set 1 CSE 1341 – H 1.
Object Oriented Programming (OOP) Design Lecture 1 : Course Overview Bong-Soo Sohn Associate Professor School of Computer Science and Engineering Chung-Ang.
Ministry of Higher Education Sohar College of Applied Sciences IT department Comp Introduction to Programming Using C++ Fall, 2011.
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.
CMSC 2021 CMSC 202 Computer Science II for Majors Spring 2001 Sections Ms. Susan Mitchell.
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)
COP4610 Principles of Operating Systems Prof. Robert van Engelen Department of Computer Science Florida State University.
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.
Object Oriented Programming (OOP) Design Lecture 1 : Course Overview
Andy Wang Object Oriented Programming in C++ COP 3330
CS101 Computer Programming I
CSc 1302 Principles of Computer Science II
CSc 020: Programming Concepts and Methodology II
Jeremy Bolton, PhD Assistant Teaching Professor
CSC 135 section 60 or CSC Fall 2017.
September 27 – Course introductions; Adts; Stacks and Queues
Computer Networks CNT5106C
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.
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 Fawzi Emad Chau-Wen Tseng 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 I’ll Be Trying To Teach You Object-oriented software development Modern software development techniques Object-oriented design Algorithms & data structures Lists, trees, graphs Programming skills Java API, IDE, 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 CMSC 132 CMSC 212 CMSC 250 CMSC 351 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 Classes Instructors Fawzi, Chau-Wen Teaching assistants 3 section leaders 2 graders Classes Lectures Labs Office hours

Textbook Required “Modern Software Development Using Java” By Paul Tymann & Michael Schneider

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

Projects Probably 8-9 projects Late policy Good faith attempt Evaluate design, coding, testing skills Tries to involve interesting application areas Networking, user interfaces, bioinformatics Late policy Projects due at 11pm 20% penalty, up to 24 hours late No points after 24 hours Good faith attempt Must attempt all projects to pass

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

Grading Based on Point distribution (roughly) Available on-line Projects, labs, quizzes, midterms, final Point distribution (roughly) 40% Projects 10% Lab assignments & quizzes 12% Midterm #1 12% Midterm #2 26% Final Exam Available on-line https://grades.cs.umd.edu

Wiki Publicly editable website Server Policy on project postings Announcements Post messages Server https://www.csic.umd.edu/wiki/cmsc132/ 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