DOC PREVIEW
UMD CMSC 132 - Object-Oriented Programming & Java Language Constructs

This preview shows page 1-2-3-23-24-25-26-47-48-49 out of 49 pages.

Save
View full document
Premium Document
Do you want full access? Go Premium and unlock all 49 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

CMSC 132 Object Oriented Programming II Object Oriented Programming Java Language Constructs 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 20 30 15 Specification design Coding debugging Testing reviewing fixing Documentation support Object oriented approach makes other parts of software development easier Organization Personnel Instructor Nelson Padua Perez Teaching assistants Nikolaos Frangiadakis Class web site http www cs umd edu class summer2007 cmsc132 Classes Lectures Labs Office hours Syllabus Available online Make sure you read it Textbook Required Objects Abstractions Data Structures and Design Using Java version 5 0 By Elliot Koffman and Paul Wolfgang Textbook cont Recommended Java Precisely 2nd Edition 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 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 Projects homework exercises quizzes midterms final Point distribution roughly 40 Projects 6 Homework Exercises 14 Quizzes 10 Midterm 1 10 Midterm 2 20 Final Exam Available on line https grades cs umd edu Course Bulletin Board Bulletin Board Forum https forum cs umd edu forumdisplay php f 63 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 labs Attend office hours Overview Object oriented programming OOP Introduction to OOP principles Java programming language Review language constructs Introduce new language constructs Many from Java 5 0 Object Oriented Programming OOP Approach to improving software View software as a collection of objects entities Motivated by software engineering concerns To be discussed later in the semester OOP takes advantage of two techniques 1 Abstraction 2 Encapsulation Techniques Abstraction Abstraction Provide high level model of activity or data Procedural abstraction Specify what actions should be performed Hide algorithms Data abstraction Specify data objects for problem Hide representation Techniques Encapsulation Encapsulation Confine information so it is only visible accessible through an associated external interface Approach For some entity X in program Abstract data in X Abstract actions on data in X Collect data actions on X in same location Protects and hides X Extension of abstraction Abstraction Encapsulation Example Abstraction of a Roster Data List of student names Actions Create roster Add student Remove student Print roster Encapsulation Only these actions can access names in roster ROSTER List of names Create AddStudent RemoveStudent Print Java Programming Language Language constructs designed to support OOP Example Interface supports procedure abstraction Class supports encapsulation Class libraries designed using OOP principles Example Java Collections Framework Java Swing Java Interface Interface Collection of Constants Abstract methods Can not be instantiated Classes can implement interface Must implement all methods in interface Example class foo implements bar interface bar Similar to abstract class But class can inherit from multiple interfaces Java Collections Framework Collection Object that groups multiple elements into one unit Also called container Collection framework consists of Interfaces Abstract data type Implementations Reusable data structures Algorithms Reusable functionality Overview Object oriented programming OOP Introduction to OOP principles Java programming language Review language constructs Introduce new language constructs Many from Java 5 0 Review of Java Language Constructs Basic elements Primitive types variables constants operators If else switch while for Classes Object instances Creating objects with new Object references The null reference Instance data class static data Methods Parameters return values polymorphism Review of Java Language Constructs Inheritance Base class derived class super Method overriding vs overloading Abstract methods Up and down casting getClass instanceof Interfaces 1D Arrays Creating indexing Exceptions Try catch blocks New Java Language Constructs Autoboxing Enumerated types Generics Enhanced for loop Iterator interface Stream input output Scanner class Annotations BitSet class Autoboxing Unboxing Automatically convert primitive data types Data value Object of matching class Data types classes converted Boolean Byte Double Short Integer Long Float Example ArrayList myL new ArrayList myL add 1 previously myL add


View Full Document

UMD CMSC 132 - Object-Oriented Programming & Java Language Constructs

Documents in this Course
Notes

Notes

8 pages

Recursion

Recursion

12 pages

Sorting

Sorting

31 pages

HTML

HTML

7 pages

Trees

Trees

19 pages

HTML

HTML

18 pages

Trees

Trees

19 pages

Honors

Honors

19 pages

Lecture 1

Lecture 1

11 pages

Quiz #3

Quiz #3

2 pages

Hashing

Hashing

21 pages

Load more
Loading Unlocking...
Login

Join to view Object-Oriented Programming & Java Language Constructs and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Object-Oriented Programming & Java Language Constructs and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?