DePaul University
General Information
A
B
C
D
E
F
G
H
I
J & K
L
M
N & O
P & Q
S
School for New Learning
Scientific World
Scntfc Data Analysis-Visualztn
Secondary Education
Sociology
Socl/Cult Stud Ed/Hum Dev Ugrd
Software Engineering
Software Engineering
Sound Recording Technology
Spanish
R
T, U & V
W, X, Y & Z


DePaul Undergraduate Course Catalog
UNDERGRADUATE COURSE DESCRIPTIONS 2009-2010
Undergraduate Course Descriptions - Current S Software Engineering
Software Engineering
..........

SE 325            PRINCIPLES AND PRACTICES OF SOFTWARE ENGINEERING
This course introduces students to the principles and methods of software engineering. Topics covered include software methodology, software requirements and specifications, software design, testing and validation, software evolution, and project management. Students will also be exposed to a number of popular tools used extensively in industry to support software engineering activities. PREREQUISITE(S): CSC 212 or CSC 224 or CSC 396 or CSC 242 or CSC 262 or IM 330

SE 330            OBJECT ORIENTED MODELING
Object-oriented modeling techniques for analysis and design. Provides the tools and techniques needed to solve complex, real-world software engineering problems in an object-oriented manner, using the most effective elements of the Unified Process. The course covers the essential concepts and notation of the Unified Modeling Language (UML), the standard notation for object-oriented analysis and design. Team project. PREREQUISITE(S): CSC212 or CSC262.

SE 331            MODEL-DRIVEN SOFTWARE DEVELOPMENT
Introduction to software specification, modeling, and model-driven development. Topics include a survey of approaches to software specification and modeling, specification languages, notations, and techniques for modeling static and dynamic aspects of software systems, and the use of tools in analysis, verification, and transformation of software models PREREQUISITE(S): SE330

SE 333            SOFTWARE TESTING
This course is designed for the software engineering professional to gain a greater understanding of the key ingredients in creating and/or managing a successful testing program to meet project needs.  Topics covered include test lifecycle planning, test design & coverage analysis, complexity, levels of testing such as unit, integration, system, performance and stress testing.  Best practice strategies in software testing such as verification & validation, early lifecycle testing, risk based testing and automation will also be examined including exposure to test automation methods and tools. PREREQUISITE(S): CSC 383 or SE330

SE 335            FOUNDATIONS OF DISTRIBUTED SYSTEMS I
Course Description: An introduction to distributed systems.Topics may include: architecture of distributed systems; networking; datagram-oriented and stream-oriented protocols; network programming (for example, the sockets API); remote procedure call and remote method invocation; processes and threads; code migration; software agents;
naming of non-mobile and mobile entities; cryptography and security. PREREQUISITE(S): (CSC 383 or CSC 393) and CSC 374.

SE 336            FOUNDATIONS OF DISTRIBUTED SYSTEMS II
Course Description: An intermediate course on distributed systems. Topics may include: clock synchronization; mutual exclusion; distributed transactions; consistency models; distribution and consistency protocols; failure models; achieving fault tolerance; distributed object-based systems; distributed file systems. PREREQUISITE(S): CSC262 AND DS 320.

SE 350            OBJECT-ORIENTED SOFTWARE DEVELOPMENT
Principles, techniques and tools of object-oriented modeling, design, implementation, and testing of large-scale software systems. Topics include design patterns, application frameworks, architectural design, and the applications in the software development process to improve the extensibility, maintainability, and reliability of software systems. PREREQUISITE(S): CSC 383

SE 352            OBJECT-ORIENTED ENTERPRISE APPLICATION DEVELOPMENT
This course focuses on applying object-oriented techniques in the design and development of software systems for enterprise applications. Topics include component architecture, such as Java Beans and Enterprise Java Beans, GUI components, such as Swing, database connectivity and object repositories, server application integration using technologies such as servlets, Java Server Pages, JDBC and RMI, security and internationalization. PREREQUISITE(S): CSC 383.

SE 354            ENTERPRISE COMPONENT ARCHITECTURE
This course will focus on object-oriented component architectures for enterprise applications. Topics include Enterprise Java Beans (EJB), Java Naming and Directory Interfaces (JNDI), Java Mail and Messaging Services. PREREQUISITE(S): SE 352.

SE 356            SOFTWARE DEVELOPMENT FOR MOBILE AND WIRELESS SYSTEMS
This course will focus on the unique aspects of developing software applications for mobile and wireless systems, such as personal digital assistant (PDA) devices and mobile phones. Topics will include user interface design for small screens with restricted input modalities, data synchronization for mobile databases as well as wireless programming and the use of web services. PREREQUISITE(S): SE 350

SE 357            CONCURRENT SYSTEM DEVELOPMENT
Fundamentals and techniques of developing concurrent object-oriented applications, using a patterns-based approach. Concepts covered include threads, synchronization and object locking, thread blocking and deadlock, safety and liveness, state-dependent action and concurrency control. PREREQUISITE(S): SE 350.

SE 358            SOFTWARE DEVELOPMENT FOR LIMITED AND EMBEDDED DEVICES
This course will focus on the unique aspects, tools, and techniques for developing software applications for limited and embedded devices, such as set-top boxes, micro-controllers and smart cards. Topics will include memory management for low-memory devices and efficient programming techniques for limited processors. Students will gain hands-on experiences in customizing and configuring embedded OS, handling various types of sensors and actuators such as barcode readers, RFID sensors, etc, and building software applications that meet the functional and non-functional requirements. PREREQUISITE(S): SE 350

SE 360            STRUCTURED DOCUMENT INTERCHANGE AND PROCESSING
Document and data interchange among different applications is an extremely important aspect of software application development. This course will focus on emerging technologies associated with the Extensible Markup Language (XML), such as the Document Object Model (DOM), the Simple API for XML (SAX), the XML Stylesheet Language (XSL) and Transformation Language (XSLT), and XML Schema. Applications of these technologies will be discussed in conjunction with tools and techniques for parsing, transforming, and manipulating documents. PREREQUISITE(S): SE 350.

SE 368            SOFTWARE MEASUREMENT AND PROJECT ESTIMATION
This course will discuss various software metrics and defect models. Productivity and effort estimation models as well as software cost estimation will also be discussed. PREREQUISITE(S): IT 223 and SE 330.

SE 370            SOFTWARE DEVELOPMENT PROCESSES
This course will study recent developments in software engineering processes that aim to improve software quality and estimation of development cost and schedule. It will focus on the Unified Software Development Process, along with discussion on other software development processes including eXtreme Programming (XP), Personal Software Process (PSP), Team Software Process (TSP), and Capability Maturity Model (CMM). PREREQUISITE(S): SE 330.

SE 380            DESIGN OF OBJECT-ORIENTED LANGUAGES
This course covers issues in the design and specification of object-oriented programming languages. Sample topics include the use of patterns in program representation, static and dynamic semantics, subject reduction, sub-typing, inheritance, polymorphism, genericity and concurrency. PREREQUISITE(S): SE 350..

SE 385            SOFTWARE ARCHITECTURE
Software architecture is a critical aspect of complex software systems. A system's architectural design is concerned with describing its decomposition into computational elements and their interactions. Architectural design tasks involve system decomposition; global control structures; protocols for communication, synchronization, data access; physical distribution of components; performance tuning; defining evolution paths; and selecting design alternatives. Major issues addressed include: architectural description, formal underpinnings, design guidance, domain-specific architecture, tools and environments. PREREQUISITE(S): SE 350.

SE 391            SOFTWARE ENGINEERING STUDIO I
Students will work in small teams to develop realistic software systems in a master-apprentice environment. The instructor will serve as a master/mentor/project leader. Students will apply the knowledge and skills they have learned in previous course in solving real world problems. PREREQUISITE(S): SE 350.

SE 392            SOFTWARE ENGINEERING STUDIO II
This course is a continuation of SE 391. SE 391 and SE 392 must be taken as a sequence in consecutive quarters. PREREQUISITE(S): SE 391.

©2008 | DePaul University | Disclaimer | Webmaster
1 E. Jackson, Chicago, IL 60604 | 312-362-8000
Related Links