DOC PREVIEW
CU-Boulder CSCI 5448 - Introduction

This preview shows page 1-2-21-22 out of 22 pages.

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

Unformatted text preview:

© Kenneth M. Anderson, 2011INTRODUCTIONCSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGNLECTURE 1 — 01/11/20111Tuesday, January 11, 2011© Kenneth M. Anderson, 20112This class aims to teach you a style of software design that can enable you to reach the box labelled “Good Code” in the diagram on the right.Software Design is not completely a black art… there are design techniques that lead to better results when applied in support of creative expression.From the excellent web comic, xkcd:<http://xkcd.com/844/>Tuesday, January 11, 2011© Kenneth M. Anderson, 2011ABOUT MEAssociate ProfessorPh.D. at UC Irvine (1997)12.5 Years at CUNinth Time Teaching This ClassResearchSoftware EngineeringHypermedia & The Web3Tuesday, January 11, 2011© Kenneth M. Anderson, 2011Office HoursThursdays 2 PM to 3 PMECCS 111 (Down the hall from the CSEL)Please send me e-mail to let me know you’ll be attendingYou can also meet with me at other times by sending e-mail to make an appointment4Tuesday, January 11, 2011© Kenneth M. Anderson, 2011Class Website5Class InfoTime: TR 12:30 PM - 01:45 PMLocation: ECCS 1B12What's NewSyllabus StatementsWebsite booting up…Useful LinksProfessor's Home PageDepartment's Home PageCSCI 4448/5448 — Spring 2011Object-Oriented Analysis & DesignHome What's New Lectures Assignments TextbookHomeObject-Oriented Analysis and Design is a course that presents an introduction to the design andconstruction of software systems using techniques that view a system as a set of objects that work togetherto realize the system's functionality. This perspective stands in contrast to more traditional "procedural" or"structured" design techniques that viewed systems as a set of procedures that manipulate shared datastructures. Proponents of object-oriented techniques point to the flexibility and extensibility of object-oriented systems along with other benefits such as increased modularity, abstraction, and encapsulation.In this class, we will examine fundamental objected-oriented analysis and design techniques and show howdecisions made during analysis and design impact the implementation of software systems. This class doesnot focus on object-oriented programming; however we will examine many examples of object-orientedsystems written in Java, Python, Ruby & Objective-C. New to the class in 2011, I intend to examine theAndroid and iOS frameworks as examples of large-scale, modern frameworks in use by developers aroundthe world.By the end of the class, students will have been exposed to the major steps of object-oriented softwaredevelopment life cycles and will understand the tools and techniques that are used in these steps. They willalso have applied these skills to the development of a project and the analysis of real-world object-orientedframeworks.Jan 6, 2011 1:47 PM© Kenneth M. Anderson, 2011http://www.cs.colorado.edu/~kena/classes/5448/s11/Tuesday, January 11, 2011© Kenneth M. Anderson, 2011Check the Website Everyday!6There is an RSS feed associated with the What’s New page to make this easy for you to do!The website is your source forthe class schedulehomework assignmentsannouncementsetc.Tuesday, January 11, 2011© Kenneth M. Anderson, 2011Te x t b o o kDesign Patterns ExplainedA New Perspective on Object-Oriented Design, Second EditionAlan Shallloway and James R. TrottAddison Wesley, © 2005Book discusses a design methodology that encourages the use of design patterns early in a software development effortI will also be drawing on other resources throughout the semester7Tuesday, January 11, 2011© Kenneth M. Anderson, 2011Te a c h i n g P h i l o s o p hyI want you to participate!Feel free to interrupt me when you have a questionFeel free to tell me to slow down if I’m speaking too fastI will try to learn your name (although, with more than 90 students, it’s going to be tough!!)Learning by DoingI will try to create conversations each lecture and will also insert in-class activities where appropriateHomeworks will ask you to apply techniques learned in class8Tuesday, January 11, 2011© Kenneth M. Anderson, 2011Goals of the ClassProvide students with knowledge and skills in:object-oriented conceptsOO analysis, design and implementation techniquesOO design methods (software life cycles)Students should view OO software development as a software engineering process that has well-defined stages with each stage requiring specific tools and techniquesGain some experience with the Android and iOS frameworks9Tuesday, January 11, 2011© Kenneth M. Anderson, 2011Course Structure (Tentative)Weeks 1 - 4: Chapters 1 - 11 of the TextbookWeeks 5 - 7: Introduction to Java, Objective-C, Android and iOSWeek 8: Midterm; Exact Date: Tuesday, March 1, 2011Weeks 9 - 10: Intermediate and Advanced Android and iOSSpring BreakWeeks 11 - 13: Chapters 12-25 of the TextbookWeeks 14 - 15: Object Relational Mappings (Hibernate); Dependency Injection (Spring); Project Presentations10Tuesday, January 11, 2011© Kenneth M. Anderson, 2011Course EvaluationUndergraduatesMidterm (30%)Homeworks (65%)Class Participation (5%)Graduate StudentsMidterm (30%)Presentation (30%)Homeworks (35%)Class Participation (5%)11Homeworks will include a class project that can be worked on in teams of 2 to 4 people. The “presentation” for graduate students will address an advanced topic of OO A&D or OO Programming or introduce an OO Framework in depth. Presentations will appear on the website and “executive summaries” will be presented in class. Note: Grading standards will be higher for graduate students.Tuesday, January 11, 2011© Kenneth M. Anderson, 2011Honor CodeI encourage collaboration in this class via the homeworks (which will include a semester project); You may work on them in teams of 2 to 4 studentsAll students must work on the midterm individually (obviously)Graduate students must work on their presentations individuallyThe Student Honor Code applies to classes in all CU schools and colleges. You can learn about the honor code at:<http://www.colorado.edu/academics/honorcode/>12Tuesday, January 11, 2011© Kenneth M. Anderson, 2011Submitting AssignmentsAssignments will be submitted via e-mail and will vary via formatTe x t : s u b m i t t e d w i t h i n t h e b o d y o f a n e - m a i l m e s s a g ePDF: submitted as an attachment of an e-mail message.zip or .tar.gz: send a link in e-mail and we’ll download the fileAdopting this approach as ITS will sometimes nuke a message


View Full Document

CU-Boulder CSCI 5448 - Introduction

Documents in this Course
Django

Django

42 pages

ENRS

ENRS

30 pages

PhoneGap

PhoneGap

22 pages

Load more
Download Introduction
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Introduction 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 Introduction 2 2 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?