Sunteți pe pagina 1din 16

cutting edge curriculum and certifications powered by world-renowned experts at carnegie mellon university, delivered by higher education and

training partners to their local student markets.

AcAdemic courses
iCarnegie offers academic courses at the graduate and undergraduate level, which are part of the innovative technical curriculum taught at Carnegie Mellon University. These courses combine hands on application with enduring principles. They are taught in a format that engages participants and enables the application of classroom learning.

managing software development Architecture of software systems managing Technical People ssd1: intro to information systems ssd2: intro to computer systems ssd3: object-oriented Program and design ssd4: user-centered design and Testing ssd5: data structures and Algorithms ssd6: system-Level Programming ssd7: database systems ssd8: Networks and distributed computing ssd9: software specification, Test and maintenance ssd10: software Projects organization and mgmt.

mANAGiNG soFTWAre deVeLoPmeNT


1-semester, graduate-level course

Large scale software development requires the ability to manage resources - both human and computational - through control of the development process. This course provides the knowledge and skills necessary to lead a project team, understand the relationship of software development to overall product engineering, estimate time and costs, and understand the software process. Topics include life cycle models, requirements elicitation, configuration control, risk management, planning and tracking, environments and quality assurance, all of which are used broadly in software projects. Course Topics Include: software Life cycles processes and methodologies software requirements management software risk management Project estimation Project planning and tracking managing People managing customers and expectations software quality assurance and testing strategies Course Prerequisites People attending this course should have some software project experience in an industrial setting. Course Objectives: After completing this workshop, participants will: Be able to write a software project management plan, addressing issues of risk analysis, schedule, costs, team organization, resources, and technical approach Be able to define the key process areas of the capability maturity model and the technology and practices associated with each and a variety of software development life cycle models and explain the strengths, weaknesses, and applicability of each understand the relationship between software products and overall

products (if embedded), or the role of the product in the organizational product line understand the purpose and limitations of software development standards and be able to apply sensible tailoring where needed Be able to use software development standards for documentation and implementation Be able to properly estimate, plan and track a software project Be able to perform requirements elicitation Be able to manage teams, customers and their expectations students successfully completing managing software development will be able to: create: Project Plans and estimates Project risk management plans Quality assurance and testing plans An effective environment to manage people use: Techniques to select life cycle processes according to project criteria Techniques to effectively elicit requirements methods to estimate project size and complexity Techniques to identify, analyze and mitigate project risk concepts in software quality assurance soft skills to manage people, expectations and communications Note: This course can be taken independently, or in conjunction with Architecture of Software Systems and Managing Technical People in order to earn a certificate.

www.icarnegie.com

ArcHiTecTure oF soFTWAre sYsTems


1-semester, graduate-level course

Successful design of complex software systems requires the ability to describe, evaluate, and create systems at an architectural level of abstraction. This course introduces architectural design of complex software systems. The course considers commonly-used software system structures, techniques for designing and implementing these structures, models and formal notations for characterizing and reasoning about architectures, tools for generating specific instances of an architecture, and case studies of actual system architectures. It teaches the skills and background students need to evaluate the architectures of existing systems and to design new systems in principled ways using well-founded architectural paradigms. Course Topics Include: Architectural concepts and principals Architectural styles and patterns understanding and achieving quality attributes Architecture centric design documenting software architectures evaluating software architectures Course Prerequisites People attending this course should have some software project experience in an industrial setting. Course Objectives: After completing this course, participants will be able to: describe an architecture accurately recognize major architectural styles in existing software systems Generate architectural alternatives for a problem and choose among them construct a medium-sized software system that satisfies an architectural specification use existing definitions and development tools to expedite such tasks understand the formal definition of a number of architectures and be

able to reason about the properties of those architectures use domain knowledge to specialize an architecture for a particular family of applications students successfully completing Architecture of software systems will be able to: reason about software architectures identify various architectural styles and understand how to use them to satisfy business drivers understand trade-offs and the balance between meeting quality attributes and how to architect for it document software architectures using multiple views and perspectives evaluate various software architectures to understand various tradeoffs Note: This course can be taken independently, or in conjunction with Managing Technical People and Managing Software Development in order to earn a certificate.

www.icarnegie.com

mANAGiNG TecHNicAL PeoPLe


1-semester, graduate-level course

Software engineering involves the engineering of complex software systems through the use of not just process and technology but also the people behind the machines. With the growing complexity of software projects and the current state of the practice, the need to manage people to achieve project success is even more paramount to meet requirements, deliver on budget, on schedule and satisfy customer expectations. The following course will provide students with in-depth knowledge and practice in managing technical people in areas of communications, teamwork and leadership, decision making, conflict management, relationship management and negotiations. Course topics include: Teamwork and Leadership communications decision making and problem solving effective Negotiations conflict management managing relationships managing customers and expectations Leadership mentoring, self growth and emotional intelligence Course Prerequisites People attending this course should have some software project experience in an industrial setting. Course Objectives: After completing this course, participants will: understand the impact of various factors on modes of human interaction understand how to approach and analyze situations involving people-related problems improve skills in areas of managing technical people centered around communication, decision making and problem solving

improve skills in customer and management negotiations, work related conflict management, team building and leadership, managing customer expectations and relationships Those successfully completing managing Technical People will be able to: use: Techniques to manage human interaction in a more effective way Techniques to communicate with others in ways that provide understanding methods to identify peoples personality and decision making styles soft skills to lead, motivate and work with and through people strategies and techniques for effective negotiations Techniques for improved problem solving and for managing personal conflict Note: This course can be taken independently, or in conjunction with Architecture of Software Systems and Managing Software Development in order to earn a certificate.

www.icarnegie.com

ssd1: iNTroducTioN To iNFormATioN sYsTems


1-semester, undergraduate-level course

This course teaches fundamental knowledge and skills in software development and problem solving through programming. Students learn about softwares fundamental building blocks, how software is written and how multiple pieces of software cooperate to make Web-based applications work. The course uses an objects-first approach to teach programming languages and lays the foundation for learning advanced Java. Students learn to create Web pages in HTML and Servlets in Java, and build the logic behind typical web applications such as online music play-lists and simulation environments. Students completing this course are prepared to hold responsibilities in developing and supporting interactive web sites of a small to moderate scale. Course topics include: introduction to software development processes and environments clients, servers and data transfer introduction to naming issues; languages, syntax, interpretation, compilation and execution; Program control structures data representation (simple types, encapsulated types) Basic Java and HTmL documentation servlets Course Prerequisites: There are no pre-requisites for this workshop. Course Objectives: After completing this workshop, participants will be able to: Apply foundational internet and programming skills and concepts create interactive Web pages. Become a career self-learner and to keep skills up to date after leaving the classroom understand simple Java syntax and structure understand solid programming practices and strategies. undertake future object-oriented programming courses

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: The World Wide Web to find information on keeping programming skills current 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 Unified Modeling Language (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 Internet applications. Rudimentary concepts of Object-Oriented Programming

www.icarnegie.com

ssd2: iNTroducTioN To comPuTer sYsTems


1-semester, undergraduate-level course

This course introduces software development students to the fundamentals of using and maintaining computer systems in an Internet environment. Students gain important knowledge that will help them effectively communicate with the IT personnel they will meet in the workplace, as well as understand more about security issues and the environment in which their software systems will reside. The basic components and functions of the computer and the network are introduced, along with tools and procedures for their operation and maintenance.
Course topics include: Basic machine architecture (processors, memory, i/o) Basic operating system concepts (processes, concurrency, address spaces) i/o devices for storage and multimedia Basics of processing, storage and communication capacity command processors and scripting File systems Basic network architecture installing new software and devices security Backups, compression, and encryption Course Prerequisites: SSD1: Intro to Information Systems is a prerequisite to this course, or the two may be taken concurrently. Course Objectives: After completing this workshop, participants will be able to: Apply the fundamentals of using and maintaining computer systems in an internet environment understand the basic components and functions of a computer and network understand procedures and software tools for system operation and maintenance Access and understand growing and future trends, such as security. communicate with iT support personnel in the workplace

Students successfully completing SSD2 will be able to: Produce: Appropriate system configurations based on the intended use Informed selections of peripheral devices Informed selections of software Batch files and macros Backup schedules for computer systems. Configurations of operating systems (OS), basic input/output systems (BIOS), Web browsers, and networks Successful registrations of domain names Use: Virus protection software Uniform resource locators (URLs) to map to Internet protocol addresses (IP addresses) Knowledgeably Discuss: Computer hardware (processors, memory, buses), concepts for measuring computation (bits, bytes, megahertz, instructions per second [IPS], storage capacity), and peripheral devices (video cards, keyboards, mouse devices, printers) Operating system architecture and device management (virtual memory, multitasking) Software development and engineering Applications software, including user interfaces, database systems, and Internet applications Network architecture, such as local area networks (LANs), wide area networks (WANs), network topologies, Ethernet cards, modems, network protocols, name resolution, and client/server architectures 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

www.icarnegie.com

ssd3: oBJecT-orieNTed ProGrAmmiNG ANd desiGN


1-semester, undergraduate-level course

This course introduces students to professional tools and processes for designing, documenting, and programming software systems. Students learn effective software architecture and problem solving techniques by means of object-oriented programming and design. There is an emphasis on problem analysis and solution design, documentation and coding conventions (using formats widely applied in the workplace), and implementation. Students use commercial software libraries and create robust software applications, such as a point-of-sale cash register kiosk. Starting with a specification, students design UML class diagrams, use design patterns, implement in Java, and test their solutions. This course gives students the experience and knowledge to create highly functional, welldesigned software systems. Course topics include: modularity and abstraction encapsulation, inheritance, Polymorphism use and creation of software libraries Javadoc unit testing umL Java programming ides design patterns Course Prerequisites: SSD1: Introduction to Information Systems Course Objectives: After completing this workshop, participants will be able to: Program using object-oriented techniques design robust, extensible classes express design using umL Write programs by writing cooperating classes and interfaces understand the process for developing software projects

Students successfully completing SSD3 will be able to: Produce: Java programs exhibiting object-oriented programming features including inheritance, polymorphism, abstract classes, and interfaces Robust Java classes through the use of exceptions and access modifiers Object Oriented Designs using UML Java implementation from a specification Extensions to existing Java programs to improve performance or to add functionality Professional quality code using code conventions followed in the industry Use: Commonly used professional tools such as debuggers, Integrated Development Environments (IDEs), and UML editors Utility classes and packages involving I/O, and tokenization 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

www.icarnegie.com

ssd4: user-ceNTered desiGN ANd TesTiNG


1-semester, undergraduate-level course

This course focuses on a different dimension in developing robust, maintainable, and efficient software. Software and Web applications that have users can be characterized along a dimension of usability. In other words, is it straightforward for the user to get the software to do what it is supposed to do? whether the task is to draw a map, pay a bill, find a phone number, order an item, book a flight, or change the format of a text page. In this course, students learn the most important techniques of Human-Computer interaction, so that they can conduct user studies to isolate usability problems and ultimately build software that gracefully assists its users in accomplishing intended tasks. Students receive training in the basic skills of task analysis, interface evaluation, and effective UI design. VB.Net is used in various programming assignments. Course topics include: Task analysis user interface idioms user interface toolkits rapid prototyping and evaluation simple user studies and usability aspect reports Think aloud methods Visual Basic programming Course Prerequisites: SSD3: Object-Oriented Programming and Design is a prerequisite to this course, or the two may be taken concurrently. Course Objectives: After completing this workshop, participants will be able to: empirically evaluate interface usability with two usability tools create interfaces and interface prototypes using a rapid-prototyping programming language improve user interfaces by applying the results of usability studies in the software development process.programming language.

Students successfully completing SSD4 will be able to: Produce: Usability studies that isolate UI problems through the application of: Judgments about how interface aspects meet the usability criteria expressed in ten heuristics; Judgments about interface usability based on the findings of a think-aloud usability study Usability aspect reports (UARs) that summarize usability study findings 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 Critical incident analysis to analyze the observations of a think-aloud usability 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

www.icarnegie.com

ssd5: dATA sTrucTures ANd ALGoriTHms


1-semester, undergraduate-level course

This course prepares students for designing data intensive software applications, bolstered by a practical assignment involving the development of an online auction system with rich functionality. To support such applications, students learn how to select algorithms and representations they will frequently use as professional programmers and software developers, and how to reason informally about algorithm and data structure correctness and complexity. Students also gain a thorough understanding of the dependence of execution time and memory requirements on the data structures and algorithms chosen. Programming assignments use the C++ programming language and the Standard Template Library. Course topics include: Abstract data types data structures and invariants simple algorithm analysis sorting and searching Trees and graphs Associative data structures c++ programming with the standard Template Library (sTL) Course Prerequisites: SSD3: Object-Oriented Programming and Design Course Objectives: After completing this workshop, participants will be able to: understand language-independent, object-oriented designs that are solutions to real-world problems, cognizant of the important issues of time and space that are imposed by data structure and algorithm selection Apply key principles of algorithm and data structure design evaluate, select and use libraries implementing algorithms and data structures use the sTL for more efficient programming with fewer bugs. Program in c++

Students successfully completing SSD5 will be able to: Produce: C++ programs that implement those designs, using classes, objects, templates, pointers, references and I/O Programs using binary trees and associated algorithms, pointer and array representations of graphs, and hashing algorithms Classifications of program segments into logarithmic, linear, polynomial and exponential algorithms Use: C++ Standard Template Library facilities in writing large programs including sequential containers, trees, hash tables, stacks, and queues Descriptions of the time and space requirements of algorithms and data structures to make appropriate design decisions Knowledgeably Discuss: The notion of asymptotic analysis of algorithms in terms of growth rates The concepts of search, divide-and-conquer, and memorization as algorithm design principles The concept of templates in terms of generic programming

www.icarnegie.com

ssd6: sYsTem-LeVeL ProGrAmmiNG


1-semester, undergraduate-level course

This course prepares programmers to consistently produce software applications that execute rapidly and are efficient in their use of memory. This is accomplished by providing students with a programmers view of processors, memory, and operating systems. Students learn explicitly about memory organization and hierarchies, context switching and threads, and the transformations that a high-level program undergoes before it is executed on actual hardware. This knowledge enables students to eliminate obscure bugs and to measure and optimize software program performance. Programming assignments use Visual C++.Net. Course topics include: Programming in c debugging; memory management, memory hierarchies, cached memory, virtual memory; performance measurement and tuning dLLs operating systems Basic concurrent Course Prerequisites: SSD2: Introduction to Computer Systems and SSD5: Data Structures and Algorithms Course Objectives: After completing this workshop, participants will be able to: understand the primitive data representations supported by modern processors, and operations on them understand the organization and performance of computer memory understand the computer instruction sets and the execution of object programs understand the measurement and improvement of program performance understand the interaction between application software and the operating system, especially processes, threads, scheduling and concurrency control

Students successfully completing SSD6 will be able to: Produce: Isolation and identification of performance bottlenecks in larger programs 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 words A storage allocator that identifies common memory-related programming errors Use: The C programming language to perform low-level memory and data operations Profiling tools to measure and improve program performance Debugging tools to analyze memory access bugs Low-level cycle counters to visualize interrupts and concurrent operations Knowledgeably Discuss: Bit-level and arithmetic operations of modern processors, as well as limits to arithmetic precision The fundamental notions and performance effects of virtual memory and caching Common memory related programming errors The notions of process, threads and concurrency

www.icarnegie.com

10

ssd7: dATABAse sYsTems

1-semester, undergraduate-level course

At the heart of todays web-based software applications that are revolutionizing businesses, there are well-designed database systems enabling rich functionality. This course trains students to build such systems, by teaching database concepts and then the practical work of database system design and implementation. It draws on previous training in advanced Java, web environments, object-oriented programming, and usability design. Students develop client-server applications in Java and JSP, using database management systems. The assignment involves the creation of an e-commerce bookstore, which must support the ability for users to register themselves, search content, place and track orders, and change personal settings. Students gain the necessary skills to create data models appropriate for specific 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: relational data models and data independence relational query languages and sQL database design Normalization client-server applications Transactions indexes Performance issues Course Prerequisites: SSD5: Data Structures and Algorithms Course Objectives: After completing this workshop, participants will be able to: use database mgmt. software to develop data-intensive applications develop and manage medium-scale database projects understand fundamental dBms concepts Access and understand future trends in databases
Students successfully completing SSD7 will be able to:

Produce: Database designs that represent processes drawn from business and other real-world domains Data models using E-R diagrams Sound schema designs using normalization Web-based database applications using SQL and JSP/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 management 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

www.icarnegie.com

11

ssd8: NeTWorKs ANd disTriBuTed comPuTiNG


1-semester, undergraduate-level course

This course focuses on the principles and practices of building business applications that are distributed across networks, allowing for many users to be part of a connected community. Students start with an overview of networking technology that supports data and multimedia communication. The students apply concepts to a number of practical assignments involving the development of distributed applications, including web servers, calendars, and chat systems. Students learn application-oriented protocols and approaches to distributed object oriented programming using Java. With network based applications being a frequent source of security issues for many companies, professionals having strong knowledge in this area are an asset in helping to prevent such problems in the workplace. Course topics include: Networking protocols and technology multimedia networking client/server design, thick and thin clients corBA and related tools Web implementation issues; electronic mail; security and privacy issues Course Prerequisites: SSD6: System-Level Programming Course Objectives: After completing this workshop, participants will be able to: Learn the principles of distributed system design Learn to build distributed systems using the most important current technical approaches Learn about the elements of the structure and function of the internet that are most important to application system developers Learn to use internet protocols in application development

Students successfully completing SSD7 will be able to: Produce: Software artifacts that meet the dual challenges of connecting users via a network-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 SMTP Distributed objects to be managed by an object request broker (ORB) Distributed applications based on existing and new distributed objects managed by an ORB Use: Internet RFCs and other reference material for protocol specifications Common Internet tools (such as nslookup, ping, traceroute, netstat, ttcp) to observe 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: Ethernets, ATM, Sonet, ADSL, ISDN, WDM The design criteria for distributed objects The functionality of an ORB and the general attributes of popular ORB systems (CORBA and DCOM) The issues of replication, consistency, and fault tolerance in distributed systems

www.icarnegie.com

12

ssd9: soFTWAre sPeciFicATioN, TesT ANd mAiNTeNANce


1-semester, undergraduate-level course

The course prepares students for the software development processes and planning activities they will encounter in the workplace, by providing them with practical experience in managing all phases of a software projects life cycle from requirements gathering through design, testing, and final deployment. This course, which has served as a Masterslevel course at Carnegie Mellon University, focuses on the principles of developing economical, reliable software systems following modern software engineering practices. Students work individually or in multiperson teams to develop and manage all the steps required to build a database driven software project of significant scale, in this instance, an online musical instrument store. Course topics include: Life cycle models requirements analysis specification, design, implementation, inspection, testing and documentation configuration control cAse tools reuse Course Prerequisites: SSD4: User Centered Design and Testing and SSD7: Database Systems Course Objectives: After completing this workshop, participants will be able to: develop software that correct and economical examine different phases of a software products life cycle understand various approaches to software design and the role of software architecture in software design understand structured systems analysis, object oriented analysis (ooA), and object-oriented design (ood) understand the different types of commercial-grade software testing, documentation, and maintenance techniques

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 development model Unified Modeling Language (UML) diagrams illustrating the use cases identified for the software product 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. Detailed class diagrams and, for each object, interface specifications and skeletal Java class files Detailed code documentation using Javadoc Project implementation plans, test plans, documents at each phase A final software system for demonstration Use: OOA and OOD techniques Entity-relationship (ER) modeling techniques The MySQL database system and Java Database Connectivity (JDBC) for a project Javadoc to produce documentation Techniques for improving quality of artifacts for each phase of software development Knowledgeably Discuss: Specification techniques that address the various software engineering principles Computer-aided software engineering (CASE) technology Code reuse and design reuse Managing maintenance: fault reports, fault prioritization Maintenance of object-oriented software. The structure and function of the most popular layer 1 and 2 networks: Ethernets, ATM, Sonet, ADSL, ISDN, WDM The design criteria for distributed objects The functionality of an ORB and the general attributes of popular ORB systems (CORBA and DCOM) The issues of replication, consistency, and fault tolerance in distributed systems

www.icarnegie.com

13

ssd10: soFTWAre ProJecTs orGANiZATioN ANd mANAGemeNT


1-semester, undergraduate-level course

This course prepares students to organize and manage teams of individuals involved in the development of software applications and products. The skills taught are crucial for the workplace, where software project plans must be developed to withstand typical problems such as schedule overruns, budget over-runs, and other risks that affect software quality. Students learn techniques of project planning, scheduling, costing, risk analysis, and organization. Students examine and critique various kinds of software planning and management artifacts that are representative of plans encountered in the workplace. Course topics include: Project management techniques: scheduling, budgeting, risk analysis Basic project management tools Leadership principles and client relationships Liability, intellectual property and confidentiality issues cmm ethics Course Prerequisites: SSD9: Software Specification, Test and Maintenance, which may be taken concurrently, or several years programming experience (as approved) Course Objectives: After completing this workshop, participants will be able to: organize and manage teams of developers and software projects exercise project management techniques for scheduling, costing, risk analysis, and project organization examine and objectively critique planning and management artifacts develop standard project management documents and supplementary artifacts use modern frameworks for managing software development process reason about software development models understand principles of leadership, liability, intellectual property, confidentiality issues, and management of customer relationships

Students successfully completing SSD7 will be able to: Produce: Modern, evolutionary-style work breakdown structures (WBS) Effort allocations and schedule estimates for languages (such as Visual Basic, Visual C++, and PowerBuilder) using COCOMO Planning and management artifacts for controlling projects Use: Important management principles in the context of software project management Existing artifacts to understand a project and its context and to make critical management decisions Project control and process instrumentation metrics Workflow models 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 development team Production of artifact sets that meet the needs of stakeholders Gantt, PERT, and resource charts The Capability Maturity Model (CMM) by the Software Engineering Institute (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

www.icarnegie.com

14

our courses
icarnegie offers a variety of courses in the following areas. To receive a copy of our full course catalog, please write to info@icarnegie.com.
Executive Seminars
People: Leadership, Team building, decision-making, conflict management, customer expectations, coaching Project Management: requirements management, estimation, risk management, Planning and tracking, change management, Quality Assurance Process: software Process improvement, High maturity, Agile methodologies Technology: Architectures for Practitioners and for managers Business: outsourcing, Global software development, mergers and Acquisitions, strategy and Leadership, managerial coaching

Academic Courses
managing software development Architecture of software systems managing Technical People ssd1: intro to information systems ssd2: intro to computer systems ssd3: object-oriented Program and design ssd4: user-centered design and Testing ssd5: data structures and Algorithms ssd6: system-Level Programming ssd7: database systems ssd8: Networks and distributed computing ssd9: software specification, Test and maintenance ssd10: software Projects organization and management

Certificate Programs
certificate in managing complex software Projects certificate in managing software Projects in small dynamic organizations certificate in software Architecture design certificate in executive coaching for software Professionals certificate in software Quality & Process improvement

www.icarnegie.com

15

ABouT us
Headquarters Address icarnegie, inc. 161 North dithridge street Pittsburgh, PA 15213 usA

iCarnegie, Inc., is an educational affiliate of Carnegie Mellon University and provider of modern, world-class software systems development curriculum and professional certifications. These sets of curriculum were developed by the core faculty of Carnegie Mellon Universitys Master of Software Engineering Program. The approaches taught in these courses have been adopted by many of the worlds leading organizations. Past participants have included Deutsche Bank, Borland, Intel, IBM, Motorola, Microsoft, Hyundai, Samsung, Boeing and LG Electronics and many others.

Phone +1 412-622-2150 Fax +1 412-621-2865 For general information about icarnegie, email: info@icarnegie.com For help or technical support, email: help@icarnegie.com For information about becoming an icarnegie education partner, email: partners@icarnegie.com or complete our online information request form. iCarnegie maintains partnerships around the globe, including locations in the U.S., U.K., Australia, India, China, Russia, Mexico, Panama, Dominican Republic, Costa Rica, Colombia, Chile, Peru and Portugal.

www.icarnegie.com

iCarnegie past and existing customers include: Siemens, Intel, Deutsche Bank, Bombardier, Borland, IBM, Motorola, Microsoft, Hyundai, Samsung, Boeing and LG Electronics.

S-ar putea să vă placă și