DOC PREVIEW
CU-Boulder CSCI 5828 - Course Overview

This preview shows page 1-2-15-16-31-32 out of 32 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 32 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 32 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 32 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 32 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 32 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 32 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 32 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

© University of Colorado, 2010Course OverviewKenneth M. AndersonUniversity of Colorado, BoulderCSCI 5828 — Lecture 1 — 01/12/20091GoalsSurvey software engineering concepts, terminology and techniquesEmphasis on Agile Design MethodsWill supplement with traditional/historical material as neededTake an in-depth look at software engineering techniques for dealing withconcurrency (including model-based techniques)review PL support for concurrency2CAETE AnnouncementsIn-Class StudentsCAETE has a busy studio scheduleBe sure to exit promptly so next class can beginFood and drink are not technically allowed!They are tolerated as long as you keep the studio clean!Distance StudentsTextbooks can be ordered from the CU BookstoreCall 303-492-6411 or 800-255-9168Or order on-line at <http://cubooks.colorado.edu/>3Due DatesIn the past, due dates for CAETE students were one week behind the due dates for in-class studentsHowever, now that lectures are being made available to you in a timely fashion, both in-class and distance students will have the same due datesCAETE students need to have a “test proctor” to administer the midterm for themIf you don’t know who your test proctor is, contact CAETE to find out (Do this during the first week of classes!)45A bit about me…Associate ProfessorAt CU since July 1998Ph.D. at UC IrvineResearch InterestsSoftware EngineeringHypermedia and the WebWeb EngineeringREST-based Web ServicesA little bit more…24th semester at CU (!!)6th time teaching CSCI 5828Software Development ExperienceApproximately 16 systems, 30K — 100K LOC eachSome industry experience with IBM & UnisysExperience with academic / industry collaboration6Class ParticipationI welcome contributions to the class by studentsboth in lecture and off-lineFeel free to interrupt me during lecture to ask questions!“Stupid questions” — No such thing!Engage in discussion otherwise we get the “silent tomb” effect — Boring for you and me!If I’m speaking too fast, stop me and ask me to slow down7Office HoursBy appointmentSend me e-mail at <[email protected]>Will most likely meet with students in ECCS 127or in the faculty lounge on the 7th floor of the ECOT89Class Website<http://www.cs.colorado.edu/~kena/classes/5828/s10/>Has a What’s New page with an RSS feed that you can use to stay current with all course announcements!10TextbooksHead First Software DevelopmentDan Pilone & Russ MilesFirst Published: Jan 2008Published by O’ReillyLots of great examples; decidedly non-academic feel but covers all the essentialsWill supplement with other material throughout semester11TextbooksThe Art of ConcurrencyClay BreshearsFirst Published: May 2009Published by O’ReillyMain source of material for understanding how to design concurrent software systemsWill supplement with material on concurrency in C, C++, Ruby, Java, Python, Go, Scala, Clojure, ...TextbooksConcurrency by Magee and Kramer (aka “The Two Jeffs”)Every developer needs to understand concurrencyThis optional book does an excellent job covering this topic with a software engineering perspectiveI will be drawing from this textbook to introduce model-based techniques.12Structure of SemesterThe course will switch between the first two topicsproviding an introduction to software engineering one dayand looking at issues of concurrency the nextMay also look at additional topics later in the semester13Course EvaluationYour grade will be determined by your work onHomeworks (20%)Midterm (Tuesday, March 2nd; 20%)SE Presentation (20%)Class Project (Due at last class session; student teams; 40%)NO FINAL!14Honor CodeI encourage collaboration in this class via the homeworks, the SE presentation (2 person teams) and the class project (4 person teams)You’re on your own for the midterm!The 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/>.15Late PolicyAssignments submitted late incur a 20% penaltyAssignments can be handed in up to two weeks after the initial due date (except for the final assignment of the class project)after that you are out of luck…16What is Software Engineering?The computer science discipline concerned with developing large applications. Software engineering covers not only the technical aspects of building software systems, but also management issues, such as directing programming teams, scheduling, and budgeting17What is Software Engineering?SoftwareComputer programs and their related artifactse.g. requirements documents, design documents, test cases, UI guidelines, usability tests, …EngineeringThe application of scientific principles in the context of practical constraintsConsider: Chemist versus Chemical Engineer18What is Software Engineering?What is Engineering?Engineering is a sequence of well-defined, precisely-stated, sound steps, which follow a method or apply a technique based on some combination oftheoretical results derived from a formal modelempirical adjustments for unmodeled phenomenonrules of thumb based on experienceThis definition is independent of purposei.e. engineering can be applied to many disciplines19What is Software Engineering?Software engineering is that form of engineering that applies…a systematic, disciplined, quantifiable approach,the principles of computer science, design, engineering, management, mathematics, psychology, sociology, and other disciplines…to creating, developing, operating, and maintaining cost-effective, reliably correct, high-quality solutions to software problems. (Daniel M. Berry)20What is Software Engineering?Issues of ScaleSoftware engineers care about developing techniques that enable the construction of large scale software systemsIssues of CommunicationConsider the set of tools provided by sites like Rally, Fogbugz, or Assembla.comIssues of RegulationOther engineering disciplines require certification; should SE?Issue of Designdealing with integration of software/hardware/process21Types of Software Dev.Desktop Application DevelopmentContract Software Development / ConsultingMobile Application DevelopmentWeb Engineering (Development of Web Applications)Military Software DevelopmentOpen Source Software DevelopmentOthers??These categories are not orthogonal!22SE-related JobsSoftware DeveloperSoftware EngineerSQA EngineerUsability Engineerrequires strong HCI/CSCW backgroundSystems Analystprofessional reqs. gatherer/professional designerDBASysadminSoftware


View Full Document

CU-Boulder CSCI 5828 - Course Overview

Documents in this Course
Drupal

Drupal

31 pages

Deadlock

Deadlock

23 pages

Deadlock

Deadlock

23 pages

Deadlock

Deadlock

22 pages

Load more
Download Course Overview
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 Course Overview 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 Course Overview 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?