Academic Course Catalog
Transcript of Academic Course Catalog
-
8/2/2019 Academic Course Catalog
1/16
AcAdemic coursesiCarnegie offers academic courses at the graduate and undergraduatelevel, which are part of the innovative technical curriculum taught atCarnegie Mellon University. These courses combine hands on applica-tion with enduring principles. They are taught in a format that engagesparticipants and enables the application of classroom learning.
managng sftwa dvlpntAhtt f sftwa syt
managng Thnal Ppl
ssd1: int t infatn syt
ssd2: int t cpt syt
ssd3: objt-ont Pga an dgn
ssd4: u-cnt dgn an Ttng
ssd5: data stt an Algthssd6: syt-Lvl Pgang
ssd7: databa syt
ssd8: Ntwk an dtbt cptng
ssd9: sftwa spatn, Tt an mantnan
ssd10: sftwa Pjt oganzatn an mgt.
cttng g l an tatn pw by
wl-nwn xpt at cang mlln unvty,
lv by hgh atn an tanng patn t
th lal tnt akt.
-
8/2/2019 Academic Course Catalog
2/16
www.ang.
Large scale software development requires the ability to manage re-sources - both human and computational - through control of the de-velopment process. This course provides the knowledge and skills nec
-
essary to lead a project team, understand the relationship of softwaredevelopment to overall product engineering, estimate time and costs,and understand the software process. Topics include life cycle models,requirements elicitation, conguration control, risk management, plan-ning and tracking, environments and quality assurance, all of which areused broadly in software projects.
Course Topics Include: sftwa Lf yl p an mthlg
sftwa qnt anagnt sftwa rk anagnt Pjt tatn Pjt plannng an takng managng Ppl managng t an xptatn sftwa qalty aan an ttng tatg
Course PrerequisitesPpl attnng th hl hav ftwa pjt xp-n n an ntal ttng.
Course Objectives:Aft pltng th wkhp, patpant wll:
B abl t wt a ftwa pjt anagnt plan, ang f k analy, hl, t, ta ganzatn, ,an thnal appah
B abl t n th ky p aa f th capablty mattyml an th thnlgy an pat aat wth ah ana vaty f ftwa vlpnt lf yl l an xplan thtngth, wakn, an applablty f ah
untan th latnhp btwn ftwa pt an vall
mANAGiNG soFTWAre deVeLoPmeNT1-semester, graduate-level course
pt (f b), th l f th pt n th ganza-tnal pt ln
untan th pp an ltatn f ftwa vlpnttana an b abl t apply nbl talng wh n
B abl t ftwa vlpnt tana f ntatnan plntatn
B abl t pply tat, plan an tak a ftwa pjt B abl t pf qnt ltatn B abl t anag ta, t an th xptatn
stnt flly pltng managng sftwa dvlpnt wllb abl t:
cat: Pjt Plan an tat Pjt rk managnt plan Qalty aan an ttng plan An fftv nvnnt t anag ppl
u: Thnq t lt lf yl p ang t pjt t-
a Thnq t fftvly lt qnt mth t tat pjt z an plxty Thnq t ntfy, analyz an tgat pjt k cnpt n ftwa qalty aan sft kll t anag ppl, xptatn an natn
Note: This course can be taken independently, or in conjunction with Ar-chitecture of Software Systems and Managing Technical People in orderto earn a certicate.
2
-
8/2/2019 Academic Course Catalog
3/16
www.ang.
Successful design of complex software systems requires the ability todescribe, evaluate, and create systems at an architectural level of ab -straction. This course introduces architectural design of complex soft
-
ware systems. The course considers commonly-used software systemstructures, techniques for designing and implementing these structures,models and formal notations for characterizing and reasoning aboutarchitectures, tools for generating specic instances of an architecture,and case studies of actual system architectures. It teaches the skills andbackground students need to evaluate the architectures of existing sys-tems and to design new systems in principled ways using well-foundedarchitectural paradigms.
Course Topics Include: Ahttal npt an pnpal Ahttal tyl an pattn untanng an ahvng qalty attbt Ahtt cnt gn dntng ftwa ahtt evalatng ftwa ahtt
Course PrerequisitesPpl attnng th hl hav ftwa pjt xp-n n an ntal ttng.
Course Objectives:Aft pltng th , patpant wll b abl t:
db an ahtt aatly rgnz aj ahttal tyl n xtng ftwa yt Gnat ahttal altnatv f a pbl an h ang
th cntt a -z ftwa yt that at an aht-
tal patn u xtng ntn an vlpnt tl t xpt h tak
untan th fal ntn f a nb f ahtt an b
ArcHiTecTure oF soFTWAre sYsTems1-semester, graduate-level course
3
abl t an abt th ppt f th ahtt u an knwlg t palz an ahtt f a patla
faly f applatn
stnt flly pltng Ahtt f sftwa syt wll babl t:
ran abt ftwa ahtt intfy va ahttal tyl an ntan hw t th
t atfy bn v untan ta-ff an th balan btwn tng qalty at-
tbt an hw t ahtt f t dnt ftwa ahtt ng ltpl vw an pp-
tv evalat va ftwa ahtt t ntan va ta-
ff
Note: This course can be taken independently, or in conjunction withManaging Technical People and Managing Software Development inorder to earn a certicate.
-
8/2/2019 Academic Course Catalog
4/16
www.ang.
Software engineering involves the engineering of complex softwaresystems through the use of not just process and technology but also thepeople behind the machines. With the growing complexity of softwareprojects and the current state of the practice, the need to manage peopleto achieve project success is even more paramount to meet require -ments, deliver on budget, on schedule and satisfy customer expectations.The following course will provide students with in-depth knowledgeand practice in managing technical people in areas of communications,teamwork and leadership, decision making, conict management, rela-tionship management and negotiations.
Course topics include:
Tawk an Lahp cnatn dn akng an pbl lvng efftv Ngtatn cnt managnt managng rlatnhp managng t an xptatn Lahp mntng, slf gwth an etnal intllgn
Course PrerequisitesPpl attnng th hl hav ftwa pjt xp-n n an ntal ttng.
Course Objectives:Aft pltng th , patpant wll:
untan th pat f va fat n f han nta-tn
untan hw t appah an analyz tatn nvlvngppl-lat pbl
ipv kll n aa f anagng thnal ppl nt an
natn, n akng an pbl lvng
mANAGiNG TecHNicAL PeoPLe1-semester, graduate-level course
ipv kll n t an anagnt ngtatn, wk -lat nt anagnt, ta blng an lahp, anagngt xptatn an latnhp
Th flly pltng managng Thnal Ppl wll b abl t:u:
Thnq t anag han ntatn n a fftv way Thnq t nat wth th n way that pv n-
tanng mth t ntfy ppl pnalty an n akng
tyl sft kll t la, tvat an wk wth an thgh ppl
statg an thnq f fftv ngtatn Thnq f pv pbl lvng an f anagng p-
nal nt
Note: This course can be taken independently, or in conjunction withArchitecture of Software Systems and Managing Software Developmentin order to earn a certicate.
4
-
8/2/2019 Academic Course Catalog
5/16
www.ang.
This course teaches fundamental knowledge and skills in software devel-opment and problem solving through programming. Students learn aboutsoftwares fundamental building blocks, how software is written and howmultiple pieces of software cooperate to make Web-based applicationswork. The course uses an objects-rst approach to teach programminglanguages and lays the foundation for learning advanced Java. Studentslearn to create Web pages in HTML and Servlets in Java, and build thelogic behind typical web applications such as online music play-lists andsimulation environments. Students completing this course are preparedto hold responsibilities in developing and supporting interactive websites of a small to moderate scale.
Course topics include: inttn t ftwa vlpnt p an nvnnt clnt, v an ata tanf inttn t nang ; langag, yntax, ntptatn, -
platn an xtn; Pga ntl tt data pntatn (pl typ, naplat typ) Ba Java an HTmL dntatn svlt
Course Prerequisites: Th a n p-qt f th wkhp.
Course Objectives:Aft pltng th wkhp, patpant wll b abl t:
Apply fnatnal intnt an pgang kll an npt cat ntatv Wb pag. B a a lf-lan an t kp kll p t at aft
lavng th la untan pl Java yntax an tt untan l pgang pat an tatg.
untak ft objt-ont pgang
ssd1: iNTroducTioN To iNFormATioN sYsTems1-semester, undergraduate-level course
Students successfully completing SSD1 will be able to:Produce:
Basic HTML pages Servlets that respond to user requests from a browser
User interfaces with HTML FORM elements Well structured solutions to simple programming problems
Web site projects applying new programming skills
Use: TheWorldWideWebtondinformationonkeepingprogrammingskillscur-
rent Effective Web searching techniques
A simple text editor to build and modify HTML and Java code JDK tools for compiling and debugging Java classes and Servlets
UniedModelingLanguage(UML)
Simple Java data types, objects and arrays
Knowledgeably Discuss:
Basic HTML layout and publishing issues The basic concepts of the software design cycle
The request-response architecture of clients, servers and Servlets in Internetapplications.
Rudimentary concepts of Object-Oriented Programming
5
-
8/2/2019 Academic Course Catalog
6/16
www.ang.
This course introduces software development students to the fundamen-tals of using and maintaining computer systems in an Internet environ-ment. Students gain important knowledge that will help them effectivelycommunicate with the IT personnel they will meet in the workplace,as well as understand more about security issues and the environmentin which their software systems will reside. The basic components andfunctions of the computer and the network are introduced, along withtools and procedures for their operation and maintenance.
Course topics include: Ba ahn ahtt (p, y, i/o) Ba patng yt npt (p, nny, a
pa) i/o v f tag an lta Ba f png, tag an natn apaty can p an ptng Fl yt Ba ntwk ahtt intallng nw ftwa an v sty Bakp, pn, an nyptn
Course Prerequisites:SSD1: Intro to Information Systems a pqt t
th , th tw ay b takn nntly.
Course Objectives:Aft pltng th wkhp, patpant wll b abl t:
Apply th fnantal f ng an antanng pt yt nan intnt nvnnt
untan th ba pnnt an fntn f a pt an nt-wk
untan p an ftwa tl f yt patn anantnan
A an ntan gwng an ft tn, h a ty.
cnat wth iT ppt pnnl n th wkpla
ssd2: iNTroducTioN To comPuTer sYsTems1-semester, undergraduate-level course
Students successfully completing SSD2 will be able to:Produce:
Appropriatesystemcongurationsbasedontheintendeduse Informed selections of peripheral devices
Informed selections of software Batchlesandmacros
Backup schedules for computer systems. Congurationsofoperatingsystems(OS),basicinput/outputsystems(BIOS),
Web browsers, and networks Successful registrations of domain names
Use:
Virus protection software Uniformresourcelocators(URLs)tomaptoInternetprotocoladdresses(IP
addresses)
Knowledgeably Discuss: Computerhardware(processors,memory,buses),conceptsformeasuring
computation(bits,bytes,megahertz,instructionspersecond[IPS],storagecapacity),andperipheraldevices(videocards,keyboards,mousedevices,
printers) Operatingsystemarchitectureanddevicemanagement(virtualmemory,multi-
tasking) Software development and engineering
Applications software, including user interfaces, database systems, and Inter-net applications
Networkarchitecture,suchaslocalareanetworks(LANs),wideareanetworks(WANs),networktopologies,Ethernetcards,modems,networkprotocols,
nameresolution,andclient/serverarchitectures The Internet, including services and trends
Maintenance of system integrity, including disk backups, security, and power Risk management of a computer system, covering viruses, Trojan horses,
worms, and encryption
6
-
8/2/2019 Academic Course Catalog
7/16www.ang.
This course introduces students to professional tools and processes fordesigning, documenting, and programming software systems. Studentslearn effective software architecture and problem solving techniques bymeans of object-oriented programming and design. There is an empha-sis on problem analysis and solution design, documentation and codingconventions (using formats widely applied in the workplace), and imple-mentation. Students use commercial software libraries and create robustsoftware applications, such as a point-of-sale cash register kiosk. Start-ing with a specication, students design UML class diagrams, use designpatterns, implement in Java, and test their solutions. This course givesstudents the experience and knowledge to create highly functional, well-designed software systems.
Course topics include: mlaty an abtatn enaplatn, inhtan, Plyph u an atn f ftwa lba Java unt ttng umL Java pgang ide dgn pattn
Course Prerequisites:SSD1: Introduction to Information Systems
Course Objectives:Aft pltng th wkhp, patpant wll b abl t:
Pga ng bjt-nt thnq dgn bt, xtnbl la exp gn ng umLWt pga by wtng patng la an ntfa untan th p f vlpng ftwa pjt
ssd3: oBJecT-orieNTed ProGrAmmiNG ANd desiGN1-semester, undergraduate-level course
Students successfully completing SSD3 will be able to:Produce:
Java programs exhibiting object-oriented programming features includinginheritance, polymorphism, abstract classes, and interfaces
RobustJavaclassesthroughtheuseofexceptionsandaccessmodiers Object Oriented Designs using UML
Javaimplementationfromaspecication Extensions to existing Java programs to improve performance or to add func-
tionality Professional quality code using code conventions followed in the industry
Use:
Commonly used professional tools such as debuggers, Integrated Develop-mentEnvironments(IDEs),andUMLeditors
UtilityclassesandpackagesinvolvingI/O,andtokenization
Java Swing classes to implement GUIs On-line resources for keeping up to date on Java developments Design patterns
Test cases for unit testing Collections and iterators
Knowledgeably Discuss:
Advanced Object Oriented concepts
7
-
8/2/2019 Academic Course Catalog
8/16www.ang.
This course focuses on a different dimension in developing robust,maintainable, and efcient software. Software and Web applications thathave users can be characterized along a dimension of usability. In otherwords, is it straightforward for the user to get the software to do what itis supposed to do? whether the task is to draw a map, pay a bill, nda phone number, order an item, book a ight, or change the format of atext page. In this course, students learn the most important techniques ofHuman-Computer interaction, so that they can conduct user studies toisolate usability problems and ultimately build software that gracefullyassists its users in accomplishing intended tasks. Students receive train-ing in the basic skills of task analysis, interface evaluation, and effectiveUI design. VB.Net is used in various programming assignments.
Course topics include: Tak analy u ntfa u ntfa tlkt rap pttypng an valatn spl t an ablty apt pt Thnk al th Val Ba pgang
Course Prerequisites:SSD3: Object-Oriented Programming and Design a
pqt t th , th tw ay b takn nntly.
Course Objectives:Aft pltng th wkhp, patpant wll b abl t:
epally valat ntfa ablty wth tw ablty tl cat ntfa an ntfa pttyp ng a ap-pttypng
pgang langag ipv ntfa by applyng th lt f ablty t n
th ftwa vlpnt p.pgang langag.
ssd4: user-ceNTered desiGN ANd TesTiNG1-semester, undergraduate-level course
Students successfully completing SSD4 will be able to:Produce:
Usability studies that isolate UI problems through the application of: Judg-ments about how interface aspects meet the usability criteria expressed in
tenheuristics;Judgmentsaboutinterfaceusabilitybasedonthendingsofathink-aloud usability study
Usabilityaspectreports(UARs)thatsummarizeusabilitystudyndings Rapid prototypes of UIs in Visual Basic that are informed by usability studies
Use: Think-aloud testing methodology and ten usability heuristics as tools for
evaluating real-world user interfaces Criticalincidentanalysistoanalyzetheobservationsofathink-aloudusability
study A basic set of Visual Basic controls to create applications and prototypes
UAR recommendations to implement changes in interface applications
Knowledgeably Discuss: The human capabilities and limitations that are relevant to interface design, in
terms of the Information Processing Model of human cognition The basic features of the iterative design process and the basic concepts of
interactive programming
8
-
8/2/2019 Academic Course Catalog
9/16www.ang.
This course prepares students for designing data intensive softwareapplications, bolstered by a practical assignment involving the develop -ment of an online auction system with rich functionality. To support suchapplications, students learn how to select algorithms and representationsthey will frequently use as professional programmers and software devel-opers, and how to reason informally about algorithm and data structurecorrectness and complexity. Students also gain a thorough understandingof the dependence of execution time and memory requirements on thedata structures and algorithms chosen. Programming assignments use theC++ programming language and the Standard Template Library.
Course topics include:
Abtat ata typ data tt an nvaant spl algth analy stng an ahng T an gaph Aatv ata tt c++ pgang wth th stana Tplat Lbay (sTL)
Course Prerequisites:SSD3: Object-Oriented Programming and Design
Course Objectives:
Aft pltng th wkhp, patpant wll b abl t: untan langag-npnnt, bjt-nt gn that a
ltn t al-wl pbl, gnzant f th ptant f t an pa that a p by ata tt an algthltn
Apply ky pnpl f algth an ata tt gn evalat, lt an lba plntng algth an ata
tt u th sTL f fnt pgang wth fw bg. Pga n c++
ssd5: dATA sTrucTures ANd ALGoriTHms1-semester, undergraduate-level course
Students successfully completing SSD5 will be able to:Produce:
C++ programs that implement those designs, using classes, objects, tem-plates,pointers,referencesandI/O
Programs using binary trees and associated algorithms, pointer and arrayrepresentations of graphs, and hashing algorithms
Classicationsofprogramsegmentsintologarithmic,linear,polynomialandexponential algorithms
Use:
C++ Standard Template Library facilit ies in writing large programs includingsequential containers, trees, hash tables, stacks, and queues
Descriptions of the time and space requirements of algorithms and data struc-tures to make appropriate design decisions
Knowledgeably Discuss: The notion of asymptotic analysis of algorithms in terms of growth rates Theconceptsofsearch,divide-and-conquer,andmemorizationasalgorithm
design principles The concept of templates in terms of generic programming
9
-
8/2/2019 Academic Course Catalog
10/16www.ang.
This course prepares programmers to consistently produce software ap-plications that execute rapidly and are efcient in their use of memory.
This is accomplished by providing students with a programmers viewof processors, memory, and operating systems. Students learn explic-itly about memory organization and hierarchies, context switching andthreads, and the transformations that a high-level program undergoesbefore it is executed on actual hardware. This knowledge enables stu-dents to eliminate obscure bugs and to measure and optimize softwareprogram performance. Programming assignments use Visual C++.Net.
Course topics include: Pgang n c
dbggng; y anagnt, y hah, ahy, vtal y; pfan ant an tnng dLL opatng yt Ba nnt
Course Prerequisites: SSD2: Introduction to Computer Systems anSSD5: Data Structures and Algorithms
Course Objectives:Aft pltng th wkhp, patpant wll b abl t:
untan th ptv ata pntatn ppt by np, an patn n th
untan th ganzatn an pfan f pt y untan th pt nttn t an th xtn f bjt
pga untan th ant an pvnt f pga pf-
an untan th ntatn btwn applatn ftwa an th p-
atng yt, pally p, tha, hlng an n-
ny ntl
ssd6: sYsTem-LeVeL ProGrAmmiNG1-semester, undergraduate-level course
Students successfully completing SSD6 will be able to:Produce:
Isolationandidenticationofperformancebottlenecksinlargerprograms Diagnosis and improvement of performance bugs due to unfavorable memory
access patterns Simple concurrent programs that use concurrency to hide latency
Code that manipulates bits in wordsAstorageallocatorthatidentiescommonmemory-relatedprogramminger-
rors
Use: The C programming language to perform low-level memory and data opera-
tions Prolingtoolstomeasureandimproveprogramperformance
Debuggingtoolstoanalyzememoryaccessbugs
Low-levelcyclecounterstovisualizeinterruptsandconcurrentoperations
Knowledgeably Discuss:
Bit-level and arithmetic operations of modern processors, as well as limits toarithmetic precision
The fundamental notions and performance effects of virtual memory andcaching
Common memory related programming errors The notions of process, threads and concurrency
10
-
8/2/2019 Academic Course Catalog
11/16www.ang.
At the heart of todays web-based software applications that are revolu -tionizing businesses, there are well-designed database systems enabling
rich functionality. This course trains students to build such systems, byteaching database concepts and then the practical work of databasesystem design and implementation. It draws on previous training inadvanced Java, web environments, object-oriented programming, andusability design. Students develop client-server applications in Java andJSP, using database management systems. The assignment involves thecreation of an e-commerce bookstore, which must support the abilityfor users to register themselves, search content, place and track orders,and change personal settings. Students gain the necessary skills to createdata models appropriate for specic applications (relational data models
are emphasized), tune the underlying database for fast response times,and ensure the system is robust enough to handle failures.
Course topics include: rlatnal ata l an ata npnn latnal qy langag an sQL databa gn Nalzatn clnt-v applatn Tanatn inx
Pfan
Course Prerequisites:SSD5: Data Structures and Algorithms
Course Objectives:Aft pltng th wkhp, patpant wll b abl t:
u ataba gt. ftwa t vlp ata-ntnv applatn dvlp an anag -al ataba pjt untan fnantal dBms npt A an ntan ft tn n atabaStudents successfully completing SSD7 will be able to:
ssd7: dATABAse sYsTems1-semester, undergraduate-level course
Produce: Database designs that represent processes drawn from business and other
real-world domains Data models using E-R diagrams
SoundschemadesignsusingnormalizationWeb-baseddatabaseapplicationsusingSQLandJSP/Servlets
Use:
Index structures of a DBMS to improve performance The transaction features of a DBMS to achieve fault recovery and concurrency
control Key relational operations to manipulate data
PostgreSQL DBMS and JDBC SQL DDL to model data, constraints, and views
SQL DML to write complex queries
Knowledgeably Discuss: The basic concepts of object-relational and object-oriented database man-
agement systems The basic concepts and application of data warehousing and data mining
(DataCubes,OLAP) The basic functions and application of multimedia databases
The basic issues of database privacy and security The DBMS offerings of the most important vendors
11
-
8/2/2019 Academic Course Catalog
12/16www.ang.
This course focuses on the principles and practices of building busi-ness applications that are distributed across networks, allowing for
many users to be part of a connected community. Students start withan overview of networking technology that supports data and multi-media communication. The students apply concepts to a number ofpractical assignments involving the development of distributed appli-cations, including web servers, calendars, and chat systems. Studentslearn application-oriented protocols and approaches to distributedobject oriented programming using Java. With network based applica-tions being a frequent source of security issues for many companies,professionals having strong knowledge in this area are an asset inhelping to prevent such problems in the workplace.
Course topics include: Ntwkng ptl an thnlgy mlta ntwkng clnt/v gn, thk an thn lnt corBA an lat tl Wb plntatn ; ltn al; ty an pvay -
Course Prerequisites:SSD6: System-Level Programming
Course Objectives:Aft pltng th wkhp, patpant wll b abl t:
Lan th pnpl f tbt yt gn Lan t bl tbt yt ng th t ptant nt
thnal appah Lan abt th lnt f th tt an fntn f th intnt
that a t ptant t applatn yt vlp Lan t intnt ptl n applatn vlpnt
ssd8: NeTWorKs ANd disTriBuTed comPuTiNG1-semester, undergraduate-level course
Students successfully completing SSD7 will be able to:Produce:
Software artifacts that meet the dual challenges of connecting users via a net-work-based application and enabling a business solution through technology
Programs using TCP sockets to communicate across an IP network Programs that act as clients using common Internet protocols like FTP, HTTP,
and SMTPDistributedobjectstobemanagedbyanobjectrequestbroker(ORB)
Distributed applications based on existing and new distributed objects man-aged by an ORB
Use: InternetRFCsandotherreferencematerialforprotocolspecications
CommonInternettools(suchasnslookup,ping,traceroute,netstat,ttcp)toobserve and evaluate network performance and function
An object request brokers services in constructing a distributed application
Knowledgeably Discuss: The structure and concepts of the OSI protocol model and its application to
TCP/IP Fundamental concepts including abstraction, encapsulation, multiplexing and
demultiplexing The structure and function of the most popular layer 1 and 2 networks: Ether-
nets, ATM, Sonet, ADSL, ISDN, WDM The design criteria for distributed objects
The functionality of an ORB and the general attributes of popular ORB sys-tems(CORBAandDCOM)
The issues of replication, consistency, and fault tolerance in distributed sys-tems
12
-
8/2/2019 Academic Course Catalog
13/16www.ang.
The course prepares students for the software development processesand planning activities they will encounter in the workplace, by provid-
ing them with practical experience in managing all phases of a softwareprojects life cycle from requirements gathering through design, test-ing, and nal deployment. This course, which has served as a Masters-level course at Carnegie Mellon University, focuses on the principlesof developing economical, reliable software systems following modernsoftware engineering practices. Students work individually or in multi-person teams to develop and manage all the steps required to build adatabase driven software project of signicant scale, in this instance, anonline musical instrument store.
Course topics include: Lf yl l rqnt analy spatn, gn, plntatn, nptn, ttng an -
ntatn cngatn ntl cAse tl r
Course Prerequisites:SSD4: User Centered Design and Testingan SSD7:Database Systems
Course Objectives:Aft pltng th wkhp, patpant wll b abl t:
dvlp ftwa that t an nal exan ffnt pha f a ftwa pt lf yl untan va appah t ftwa gn an th l f
ftwa ahtt n ftwa gn untan tt yt analy, bjt nt analy
(ooA), an bjt-nt gn (ood) untan th ffnt typ f al-ga ftwa ttng,
ntatn, an antnan thnq
ssd9: soFTWAre sPeciFicATioN, TesT ANd mAiNTeNANce1-semester, undergraduate-level course
Students successfully completing SSD7 will be able to:Produce:
Reliable software systems based on customer requirements Scope descriptions and requirements checklists by choosing a suitable devel-
opment modelUniedModelingLanguage(UML)diagramsillustratingtheusecasesidenti-
edforthesoftwareproduct Use case scenarios
A class list for a product using the noun extraction technique. Class diagrams and state transition diagrams using UML notation
Sequence diagrams and collaboration diagrams using UML.Detailedclassdiagramsand,foreachobject,interfacespecicationsand
skeletalJavaclassles Detailed code documentation using Javadoc
Project implementation plans, test plans, documents at each phase
Analsoftwaresystemfordemonstration
Use:
OOA and OOD techniquesEntity-relationship(ER)modelingtechniques
TheMySQLdatabasesystemandJavaDatabaseConnectivity(JDBC)foraproject
Javadoc to produce documentation Techniques for improving quality of artifacts for each phase of software devel-
opment
Knowledgeably Discuss: Specicationtechniquesthataddressthevarioussoftwareengineeringprin-
ciples Computer-aidedsoftwareengineering(CASE)technology
Code reuse and design reuse Managingmaintenance:faultreports,faultprioritization
Maintenance of object-oriented software. The structure and function of the most popular layer 1 and 2 networks: Ether-
nets, ATM, Sonet, ADSL, ISDN, WDM The design criteria for distributed objects
The functionality of an ORB and the general attributes of popular ORB sys-tems(CORBAandDCOM)
The issues of replication, consistency, and fault tolerance in distributed sys-tems
13
-
8/2/2019 Academic Course Catalog
14/16www.ang.
This course prepares students to organize and manage teams of individu-als involved in the development of software applications and products.
The skills taught are crucial for the workplace, where software projectplans must be developed to withstand typical problems such as scheduleoverruns, budget over-runs, and other risks that affect software quality.Students learn techniques of project planning, scheduling, costing, riskanalysis, and organization. Students examine and critique various kindsof software planning and management artifacts that are representative ofplans encountered in the workplace.
Course topics include: Pjt anagnt thnq: hlng, bgtng, k analy
Ba pjt anagnt tl Lahp pnpl an lnt latnhp Lablty, ntlltal ppty an nntalty cmm eth
Course Prerequisites:SSD9: Software Specication, Test and Mainte-nance, whh ay b takn nntly, val ya pgangxpn (a appv)
Course Objectives:
Aft pltng th wkhp, patpant wll b abl t: oganz an anag ta f vlp an ftwa pjt ex pjt anagnt thnq f hlng, tng, k
analy, an pjt ganzatn exan an bjtvly tq plannng an anagnt atfat dvlp tana pjt anagnt nt an ppln-
tay atfat u n fawk f anagng ftwa vlpnt p ran abt ftwa vlpnt l untan pnpl f lahp, lablty, ntlltal ppty,
nntalty , an anagnt f t latnhp
ssd10: soFTWAre ProJecTs orGANiZATioN ANd mANAGemeNT1-semester, undergraduate-level course
Students successfully completing SSD7 will be able to:Produce:
Modern,evolutionary-styleworkbreakdownstructures(WBS)Effortallocationsandscheduleestimatesforlanguages(suchasVisualBasic,
VisualC++,andPowerBuilder)usingCOCOMO Planning and management artifacts for controlling projects
Use:
Important management principles in the context of software project manage-ment
Existing artifacts to understand a project and its context and to make criticalmanagement decisions
Project control and process instrumentation metrics Workowmodels
Standards for documentation, risk assessment, quality assurance
Knowledgeably Discuss: Principles of modern software management that address recurring problems
of conventional development techniques Cost parameters and software economics
Communication issues involving senior management, end users, and devel-opment team
Production of artifact sets that meet the needs of stakeholders Gantt, PERT, and resource charts
TheCapabilityMaturityModel(CMM)bytheSoftwareEngineeringInstitute(SEI)
The Software Engineering Code of Ethics and Professional Practice Software management and the legal areas of intellectual property, patent law,
copyright law, trademark law, privacy, and unfair competition Barry Boehms Top Ten Software Metrics
14
-
8/2/2019 Academic Course Catalog
15/16www.ang.
our courses
Executive Seminars
People:Lahp, Ta blng, dn-akng, cnt anagnt,
ct xptatn, cahng
Project Management:rqnt anagnt, etatn, rk anagnt, Plannng
an takng, chang anagnt, Qalty Aan
Process:sftwa P ipvnt, Hgh matty, Agl thlg
Technology:Ahtt f Pattn an f manag
Business:otng, Glbal sftwa dvlpnt, mg an Aq-
tn, statgy an Lahp, managal cahng
Certicate Programsctat n managng cplx sftwa Pjt
ctat n managng sftwa Pjt n sall dyna oganzatn
ctat n sftwa Ahtt dgn
ctat n extv cahng f sftwa Pfnal
ctat n sftwa Qalty & P ipvnt
cang ff a vaty f n th fllwng aa. T v a py f fll atalg,
pla wt tnf@ang..
15
Academic Coursesmanagng sftwa dvlpnt
Ahtt f sftwa syt
managng Thnal Ppl
ssd1: int t infatn syt
ssd2: int t cpt syt
ssd3: objt-ont Pga an dgn
ssd4: u-cnt dgn an Ttng
ssd5: data stt an Algth
ssd6: syt-Lvl Pgang
ssd7: databa syt
ssd8: Ntwk an dtbt cptng
ssd9: sftwa spatn, Tt an mantnan
ssd10: sftwa Pjt oganzatn an managnt
-
8/2/2019 Academic Course Catalog
16/16www ang
ABouT us
Headquarters Addresscang, in.
161 Nth dthg sttPttbgh, PA 15213usA
Phone+1 412-622-2150
Fax+1 412-621-2865
F gnal nfatn abt cang, al:nf@ang.
F hlp thnal ppt, al:hlp@ang.
F nfatn abt bng an cang atn patn, al:patn@ang. plt nln nfatn qt f.
iCarnegie maintains partnerships around the globe, including locations in theU.S., U.K., Australia, India, China, Russia, Mexico, Panama, Dominican Republic,Costa Rica, Colombia, Chile, Peru and Portugal.
iCarnegie, Inc., is an educational afliate of Carnegie Mellon Universityand provider of modern, world-class software systems development cur-riculum and professional certications.
These sets of curriculum were developed by the core faculty of Carn -egie Mellon Universitys Master of Software Engineering Program. Theapproaches taught in these courses have been adopted by many of the
worlds leading organizations. Past participants have included DeutscheBank, Borland, Intel, IBM, Motorola, Microsoft, Hyundai, Samsung, Boe-ing and LG Electronics and many others.
iCarnegie past and existing customers include:Siemens, Intel, Deutsche Bank, Bombardier, Borland, IBM, Motorola,Microsoft, Hyundai, Samsung, Boeing and LG Electronics.