وصف المقررات لهندسة البرمجيات

SE 201 INTRODUCTION TO SOFTWARE ENGINEERING

Credits: 3 (3,0,1) Prerequisite: CS 102+ ENG 103

This course introduces software engineering as a discipline. It starts by a general introduction on the evolution of the discipline, then introduces the software life-cycle, software processes, requirement analysis, design, implementation, testing. This course covers the various Software Development Processes and requires students to appreciate and apply various aspects of software engineering principles. Classical Software Development Life-cycles from waterfall, spiral, incremental, evolutional to recent lean, agile methods and component based systems are covered. Special emphasis is put on quality and process improvement models such as CMM, PSP and TSP. This introduction is complimented by practical training to develop some of the basic software engineering skills. The skills covered include planning, estimation, scheduling, testing, debugging, quality management …etc
SE 311 SOFTWARE REQUIREMENTS ENGINEERING
SE 322 SOFTWARE DESIGN AND ARCHITECTURE
SE 365 HUMAN COMPUTER INTERACTION
SE 371 WEB ENGINEERING
SE 381 EMBEDDED SOFTWARE ENGINEERING
SE 401 SOFTWARE QUALITY ASSURANCE AND TESTING
SE 409 CLOUD COMPUTING
SE 411 SOFTWARE CONSTRUCTION
SE 413 SOFTWARE SYSTEM MODELLING
SE 417 AGENT BASED SOFTWARE ENGINEERING
SE 421 SOFTWARE METRICS
SE 422 SOFTWARE MAINTENANCE AND EVOLUTION
SE 423 SOFTWARE ENGINEERING PROJECT MANAGEMENT
SE 430 SOFTWARE PROCESSES & PROCESS IMPROVEMENTS
SE 436 SERVICE ORIENTED ARCHITECTURES
SE 444 FORMAL METHODS AND MODELS IN SOFTWARE
SE 445 REAL-TIME SOFTWARE SYSTEMS
SE 450 DESIGN PATTERNS
SE 480 SOFTWARE ANALYTICS
SE 489 SELECTED TOPICS IN SOFTWARE ENGINEERING
SE 492 Co-op [COOPERATIVE EDUCATION]
SE 495 EMERGING TOPICS IN SOFTWARE ENGINEERING
SE 499 SENIOR PROJECT