Course Catalogue

Course Code: CSE 4471
Course Name:
Design Patterns
Prerequisite:
Credit Hours:
3.00
Detailed Syllabus:

Revision of Concepts of OOP, Importance of learning design patterns, Types of Design Patterns - Structural, Behavioral and Creational Patterns, Creational Patterns – Singleton, Factory, Factory Method, Abstract Factory, Builder, Prototype and Object Pool, Behavioral Patterns - Chain of Responsibility, Command, Interpreter, Iterator, Mediator, Memento, Observer, Strategy, Template Method, Visitor and Null Object, Structural Patterns – Adapter, Bridge, Composite, Decorator, Flyweight and Proxy, REFACTORING CODE SMELL, Different type of code smells - Inappropriate Naming, Comments, Dead Code, Duplicated code, Primitive Obsession, Large Class, Lazy Class, Alternative Class with Different Interface, Long Method, Long Parameter List, Switch Statements, Speculative Generality, Oddball Solution, Feature Envy, Refused Bequest, Black Sheep and Train Wreck, Design Principles (SOLID) - Single responsibility principle, Open Close Principle, Liskov substitution principle, Interface segregation principle, Dependency Inversion principle.

Course Code: CSE 4473
Course Name:
Software Testing and Quality Assurance
Prerequisite:
Credit Hours:
3.00
Detailed Syllabus:

Software Testing Life Cycle (STLC), SDLC vs STLC; Testing Levels; Testing methods; Testing types: Specification-based vs. code-based, black-box vs. white-box, functional vs. structural testing; unit, integration, system, acceptance, and regression testing; Load, Performance, Stress, Unit Testing; Verification vs. validation; Test planning: scenario, case, traceability matrix; ISO Standards; Agile testing; Testing Estimation techniques; Introduction to software reliability, quality control and quality assurance; Formal verification methods; static and dynamic program verification. Testing Internet Applications - Security and Performance Testing, Debugging, Test Driven Development (TDD), Behavior Driven Development (BDD).

Course Code: CSE 4474
Course Name:
Software Testing and Quality Assurance Lab
Prerequisite:
Credit Hours:
1.00
Detailed Syllabus:

Lab works based CSE 4473.

Course Code: CSE 4475
Course Name:
Mobile Application Development
Prerequisite:
Credit Hours:
3.00
Detailed Syllabus:

Introduction to Android, Java Overview, Android Widgets, Layout Designs, Utilization of media files – text, mp3, jpeg, jpg, Activity States, Internal/External and Temporary/Permanent Data Storage.

Course Code: CSE 4477
Course Name:
Advanced Programming
Prerequisite:
Credit Hours:
3.00
Detailed Syllabus:

This is an advanced course in UNIX system facilities. It complements the operating systems course, in that it provides hands-on experience with such facilities as signals, semaphores and file locks. Familiarity with the C language is assumed. About 40% of the course is devoted to UNIX shell programming and some useful utilities like sed and awk. The rest of the course does the UNIX system calls in detail – unbuffered I/O, directories, process creation, signals, pipes, record locks, interposes communication, terminal handling and some tcp/ip calls.

Course Code: CSE 4478
Course Name:
Advanced Programming Lab
Prerequisite:
Credit Hours:
1.00
Detailed Syllabus:

Lab works based CSE 4477.

Course Code: CSE 4479
Course Name:
Human Computer Interaction
Credit Hours:
3.00
Detailed Syllabus:

This course explain the capabilities of both humans and computers from the viewpoint of human information processing, describe typical human–computer interaction (HCI) models and styles, as well as various historic HCI paradigms, apply an interactive design process and universal design principles to designing HCI systems, describe and use HCI design principles, standards and guidelines, analyze and identify user models, user support, socio-organizational issues, and stakeholder requirements of HCI systems, discuss tasks and dialogs of relevant HCI systems based on task analysis and dialog design, analyze and discuss HCI issues in groupware, ubiquitous computing, virtual reality, multimedia, and Word Wide Web-related environments.

Course Code: CSE 4481
Course Name:
Topics of Current Interest
Credit Hours:
3.00
Detailed Syllabus:

As necessary.

Course Code: CSE 4483
Course Name:
Enterprise Systems: Concepts and Practice
Credit Hours:
3.00
Detailed Syllabus:

This course describes properties and architecture of enterprise systems, account for strategies and approaches for implementation and use of enterprise systems, explain how enterprise systems support organizations, analyses implementation and use of enterprise systems from a socio-technical perspective, apply socio-technical models and provide recommendations for implementation and use of enterprise systems implementation, discuss and present critical issues related to implementation and use of enterprise systems, critically assess the role of enterprise systems in organizations, argue for different enterprise systems solutions.

Course Code: CSE 4484
Course Name:
Enterprise Systems: Concepts and Practice Lab
Credit Hours:
1.00
Detailed Syllabus:

Lab works based CSE 4483.

Pages