COURSE DESCRIPTION


Software Engineering

24

19

59

30

9

132

University Requirement

Faculty Requirement

Major Requirement

Free Ellective

Complementary Requirement

Total Credit Hours

Complementary Requirement is not calcualted in total credit hours



University Requirement - 24 Credit Hours:



Compulsory Courses - 15 Credit Hours

Course Code Course Name Credit hours Description
A0110151 National Education 3
A0110144 Arabic Communication Skills 3
A0110143 English Communication Skills 3
A0110155 Military Sciences 3
A0110154 Life Skills 1
A0110153 Leadership and Societal Responsibility 1
A0110152 Entrepreneurship and Innovation 1

Elective Courses - 6 Credit Hours

Course Code Course Name Credit hours Description
A0110161 Islamic Culture 3
A0110163 Archeology and Tourism in Jordan 3
A0110164 Development and Environment 3
A0110165 Contemporary Issues 3
A0411601 Legal Education and Human Rights 3 This course identifying the basic concepts of human rights in an analytical way, and then realistic clarify of the international & regional means dealing with human rights such as treaties, recommendations and international means that are in the process of formation, such imperative rules & customs, this course also address realistically the content of human rights and the rights of the first generation such as right of living. The second-generation rights such as the right to work and third-generation rights such as the right of environment. International ways to protect human rights in general. In addition, the extent to which the Jordanian constitution is compatible with international human rights standards.
A0110162 History of Jordan and Palestine 3
A0110166 Media and Public Relations 3

Elective Courses - 3 Credit Hours

Course Code Course Name Credit hours Description
A0871103 Principles of Renewable Energy 3 Introduction to renewable Energy include Photovoltaic, Wind power, Micro hydropower, Biomass energy, Waste power, Solar thermal power, Geothermal power, Ocean energy (tidal, tide-flow and wave), Ocean energy (OTEC), , Comparison of characteristics and cost of renewables. How we can use the sun, wind, biomass, geothermal resources, and water to generate more sustainable energy. It explains the fundamentals of energy, including the transfer of energy, as well as the limitations of natural resources. Starting with solar power, the text illustrates how energy from the sun is transferred and stored; used for heating, cooling, and lighting; collected and concentrated; and converted into electricity
A0110168 Digital Literacy and Artificial Intelligence 3
A1321100 Sport and Health 3 Defining health and fitness: physical education, health education; the cognitive, emotional, skill-oriented, and social goals of physical education; the history of physical education: ancient, medieval, and modern ages, the Olympics, Athletics in Jordan: nutrition and exercising; athletic injuries: bone, joint , muscle, skin injuries; special exercises for figure deformation; diseases related to lack of exercise: diabetes, obesity, being underweight, back pain, cancer; hooliganism: causes and recommended solutions for hooliganism.
A0110167 Critical Thinking Skills 3
A0110281 Society Health 3


Faculty Requirement - 19 Credit Hours:



Compulsory Courses - 19 Credit Hours

Course Code Course Name Credit hours Description
A0341311 Networks and Cybersecurity Essentials 3 The course studies the basic of computer networks: types of networks, main devices, Ethernet technology, principles and structure of IP addressing; overview of the common protocols such as: TCP, UDP, HTTP, HTTPS, POP, IMAP, SMTP, DNS, FTP, DHCP; basic security measures and tools: malware, general means of authentication, password-based authentication, physical security, firewall basics; cryptography: symmetric and asymmetric algorithms, hash functions, basics of digital signature and steganography.
A0331202 Introduction to Programming 3 Sequential execution: program structure, command line arguments, string literals, output, Limerick layout; Program errors: syntactic errors, semantic errors, compile time errors, runtime errors; Types, variables and expressions: string, double and integer types, hard-coded data, assignment statement, arithmetic expressions and associativity, type conversions, parsing input data, integer division, grouping expression terms and long statements layout; Conditional and repeated execution: choice and iteration statements, Boolean expressions, relational operators, program design using pseudo code, lists of command line arguments, comments, standard classes; Control statements nested in loops: declaring variables in compound statements, conditional expression operator;
A0334600 Ethical and Professional Issues in Computing 1 An overview of ethics, Professional ethics of workers and users in the field of information technology, Cyberattacks and Cybersecurity, Privacy, Intellectual property, Ethical decisions in software development.
A0311101 Discrete Mathematics 3 Logic, relations, functions, basic set theory, countability and counting arguments, proof techniques, mathematical induction, graph theory, combinatorics, discrete probability, recursion, recurrence relations, and number theory. The fundamental mathematical tools used in computer engineering as: sets, relations, and functions; propositional logic, predicate logic, and inductive proofs; summations, recurrences, and elementary asymptotic; counting and discrete probability; undirected and directed graphs; introductory linear algebra, with applications in computer engineering.
A0312201 Object Oriented Programming 3 Introduction to Object Oriented Programming Concepts using Java language: Classes, Objects, Constructors, Encapsulation: Visibility Modifiers; Packages; Overloading; using this keyword; using static keyword; Array of objects: Store and Process objects in array; Relationships between Classes: Composition, Inheritance: Superclasses and Subclasses, using super keyword, Constructor Chaining, Overriding, Polymorphism, Preventing Extending and Overriding, The Object Class and its toString() Method; Abstract Classes; Interfaces; Exception Handling; introduction to GUI programming.
A0110101 Mathematics (1) 3
A0371201 Introduction to Information Technology 3 Basic elements of computing: programming, computer, program, operating environment, data, file; Number systems: decimal, binary, conversion; Describing problem solution using standard flowcharting notation; Linux basics: basic commands, working with files, working with directories, file name substitution, input/output and I/O redirection; Linux shell: overview, programming tools; User-defined commands and shell variables: command files, variables, integer arithmetic; Passing arguments: $#, $#, ${n}; Decisions: exit status, test command, else, exit, elif, Null, && and || constructs; Loops: for, while, until, breaking a loop, skipping commands in a loop; Git: installation and configuration, basic commands, branching.


Major Requirement - 59 Credit Hours:



Compulsory Courses - 50 Credit Hours

Course Code Course Name Credit hours Description
A0334503 Software Project Management 3 Introduction to project management; The project management and IT context; Project management process groups; Project integration management; Project scope management; Project schedule management; Project cost management; Project quality management; Project communications management; Project risk management.
A0333508 Software Maintenance 3 This course covers fundamental aspects of software maintenance and evolution, including concepts and techniques, process models for system evolution, and software maintenance case studies.
A0334609 Graduation Project (2) 3
A0334611 Practical Training 9
A0334511 Artificial Intelligence in Software Engineering 3
A0333506 Human Computer Interaction 3 Introduction to Human Computer Interaction; Principles of Interaction Design; The Human: human abilities, human perceptual system, human cognitive system; Ergonomics; Design, implementation and evaluation of interactive computing system for human use; Components of an interactive system; The computer: interacting with computers, virtual reality concept, virtual reality applications; Non-traditional interfaces; User Interface Design & Programming.
A0334501 Software Testing and Quality Assurance 3 Definitions, Basic Concepts and an Overview of Software Testing Techniques: software verification and validation, software testing, software quality, relationships of quality assurance and quality control, software testing techniques, a comparison of testing techniques; Black-Box Testing techniques: equivalence partitioning, boundary value analysis, decision tables, state transition testing, use case testing ; White-Box and Experience-based Testing Techniques: static testing techniques, structural testing techniques, experience-based testing techniques; Software Testing Levels, Objectives and Plan: levels of software testing, objectives of software testing, automation of software testing, the test plan, test case fundamentals.
A0334605 Communication and Technical Writing Skills 2
A0333504 Software Construction and Documentation 3 Static checking; Specification & specification design; Mutability & immutability; Debugging & avoiding debugging; Abstract functions & rep invariants; Interfaces & equality; Concurrency & thread safety; Frameworks and middleware: GWT framework, WSO2 Carbon; Software documentation tools: Git, Gerrit.
A0333203 Internet Applications Development (2) 3
A0332501 Introduction to Software Engineering 3 "System Development Methodologies: Software Engineering Processes, Waterfall, Prototype, Incremental, and Spiral, with focus on the Unified Process in its agile form; Principles of Software Engineering: Requirements Elicitation, Validation and Verification; Review of Principles of Object Orientation; Object Oriented Analysis Using UML: Behavioural UML Diagrams Use Case, Sequence, Activity, And State Diagrams; Structural UML Diagrams: Object, Class, and Package Diagrams.
A0333502 Software Design 3 Principles and methods of software design with a special focus on Object-oriented analysis & design; Domain modelling; Class and object modelling; Behavioural modelling; design patterns; General Responsibility Assignment Software Principles (GRASP) design principles; Design evaluation and improvement; Refactoring; Light introduction to software architecture; Practice by designing a large program.
A0333501 Software Requirements Engineering 3 Fundamentals of Requirements: definitions, functional and non-functional requirements, requirements engineering process; Requirements Elicitation: difficulties in eliciting requirements, process of requirements elicitation, requirements sources, elicitation techniques; Requirements Analysis: quality standard of software requirements, requirements classification, requirements negotiation, requirements prioritization, integrating risk management with the requirements engineering process; Requirements Specification and Modelling: IEEE and Volare standards for requirements documentation, specify requirements in Use cases; Requirements Validation: requirements validation techniques; Requirements Management: the need for change, requirements traceability, requirements management guidelines..
A0332202 Internet Applications Development (1) 3
A0334608 Graduation Project (1) 3

Elective Courses - 9 Credit Hours

Course Code Course Name Credit hours Description
A0313101 Algorithms Analysis and Design 3 Introduction: Asymptotic Behavior, O, Omega , Thata notation, analysis of algorithms complexity, proving algorithm correctness with loop invariant, solving recurrences; Sorting: insertion, quick, merge, heap; Advanced Algorithm Analysis and Design: amortized analysis, dynamic programming; Graph: breadth first search, depth first search, Topological sort, minimum spanning tree, shortest path; Advanced data structures: B-trees; String matching: naive, KMP; NP-Completeness: P, NP, NP-Complete classes, proving NP-completeness.
A0314201 Mobile Applications Development 3 Android overview: android platform, user interface, dalvik virtual machine, platform architecture, application building blocks, development tools; Building applications: creating and running applications, emulator, activity, android manifest file, layout and layout file, widgets, strings file, intents; Supporting different devices: languages, layout mirroring, screens, platform versions; User interface: user interface fundamentals, linear layout, relative layout, constraint layout; Activity lifecycle: lifecycle call-backs, starting activity, pausing and resuming activity, stopping and restarting activity, recreating activity; Interacting with other activities and applications: intent types, building intent, intent filters, receiving intent, starting another activity, processing intent, common intents; Saving data: internal and external storage, shared preferences, files, SQL database; Dynamic user interface: fragments, fragment types, interacting with other fragments;
A0313401 Theory of Computation 3 Regular Languages: Deterministic and Non-Deterministic Finite Automata, Regular Expressions, Closure Properties of Regular Languages, Non-regular languages; Context Free Languages and Grammars: Pushdown Automata, Closure properties of Context Free Languages; Turing Machine.
A0334509 Selected Topics in Software Engineering (2) 3 This course aims at introducing the students to a different area of Software Engineering. It will be achieved by exposing them to new tools, techniques, and research in Software Engineering.
A0334510 Software Engineering Economics 3
A0334504 Software Architecture 3 Software architecture: what, why and context; Quality attributes: role, availability, interoperability, modifiability, performance, security, testability, usability; Architectural tactics and patterns: patterns, patterns? catalog, relationship between tactics and patterns; Architecture and requirements; designing architecture: strategy, attribute-driven development (ADD) method; Documenting software architecture: audience, notation, views, building documentation, documenting behavior, documentation and quality attributes; Architecture implementation & testing: implementation, testing; Architecture evaluation: factors, ATAM, lightweight evaluation.
A0332201 Programming Language in Software Engineering 3 Introduce the student to a programming language that is commonly used in industry and is not covered in the mandatory courses in the study plan.
A0334505 Selected Topics in Software Engineering (1) 3 This course aims at introducing the students to a different area of Software Engineering. It will be achieved by exposing them to new tools, techniques, and research in Software Engineering.
A0343412 Cloud Computing & Security 3 Introduction to cloud computing: basic concepts and terminology, essential cloud characteristics; cloud service and deployment models: the cloud service models, the cloud deployment models; cloud-enabling technology: multitenant technology, service technology, virtualization technology; fundamental cloud security: basic terms and concepts, cloud security threats.
A0333204 Web Services Programming 3
A0342314 Protection using Linux 3 Linux basic concepts: file system, commands, utilities, text editing, shell programs and word processing; Linux shells: command line syntax, properties, file name generation, redirection, piping and quote mechanisms; File system navigation: controlling access to files, file and directory naming rules and conventions, handling of files and links; Terminal control: working with vi, monitoring and controlling processes, using command line editing, replacing commands, using backup commands; Control operations: print jobs, network communication, group policy management.
A0333507 Secure Software Development 3 Design: principles, threat modelling, encryption strategy, standardized identity & access management, establish log requirements & audit practices; Secure coding practices: coding standards & conventions, Use safe functions only, Use code analysis tools, handle data safety, handle errors; Manage security risk inherent in the use of 3rd party components; Testing & validation: automated testing, manual testing; Manage security findings: define severity, risk acceptance process; Vulnerability response & disclosure: definition of internal & external policies, definition of roles and responsibilities; Ensure that Vulnerability reporters know whom to contact, manage vulnerability reporters, monitor and manage 3rd party component vulnerability, fix vulnerability, vulnerability disclosure, secure development lifecycle feedback; Planning, implementation & deployment of secure development practices: culture of the organization, expertise & skill level of the organization, product development model and lifecycle, scope of initial deployment, stakeholder management & communications, compliance measurements, SDL process health.


Free Ellective - 30 Credit Hours:



Compulsory Courses - 30 Credit Hours

Course Code Course Name Credit hours Description
A0312101 Data Structures 3 Lists: static allocation, dynamic allocation; Stacks: static implementation, linked implementation, operations, applications; Recursion: applications, program stack; Queues: static implementation, linked implementation, operations, applications; General Trees; Binary Trees; Binary Search Trees: traversal, search, add and delete operations; Files: input, output; Graphs: traversal, adjacency matrix, and adjacency list.
A0312401 Fundamentals of Databases 3 Database Concepts; Database Design Methodologies; Data Modeling using ER and EER; Database Integrity Constraints; Relational Model: Relational algebra, Relational Calculus; Functional Dependencies and Normalization.
A0312203 Visual Programming 3 Introduction to Visual Programming; Creating Applications with Visual C#; Processing Data; Making Decisions; Loops; File Access: reading and writing; Random Numbers; Methods; Arrays and Lists; Multiform Projects; Databases.
A0313402 Advanced Databases 3 Database Management Systems Protection and Security Functions; Views; Transaction Management; Concurrency Control and Serialisability; Database Recovery; Database integrity; Rapid Application Development for Database Systems using CASE tools and 4GLs; PL/SQL Programming.
A0110201 Linear Algebra 3
A0312301 Computer Organization and Architecture 3 Components of a computer: Performance, Technology and Delay Modeling, Intro to Instruction Set Architecture (ISA) Design: MIPS ISA, Translation of High-Level C Constructs into MIPS, Assemblers, Object Code Generation, Linking and Executable Loading, Run-time Execution Environment; Computer Arithmetic and ALU Design, Digital-Logic Design for Sequential Circuits, Register-Transfer Level Description of Systems; Single-Cycle Datapath and Control; Multi-cycle Datapath and Control: Micro-programming and Hard-wired Control Units; Pipelining: Pipelined MIPS Datapath; Pipeline Hazards: Structural, Control, Data; Hazard Detection and Resolution; Pipelining control; Exceptions Handling; SRAM and DRAM Design, Memory Hierarchy, Cache memory design, Virtual memory.
A0313301 Operating Systems 3 Fundamental Concepts of Operating Systems; Evolution of Operating System; Operating System Structure; Process: Process Management, Inter-process Communication, Process Scheduling, Deadlocks, Process Synchronization; Memory Management; File System Management; I/O Management; Secondary Storage Management; Case Studies.
A0311301 Digital Logic Design 3 Binary Systems: Digital Computers & Systems Binary numbers, Number Base Conversion: Octal & Hexadecimal Numbers, 1's & 2's Complements Binary codes; Boolean Algebra & Logical Gates: Basic Definitions of Boolean Algebra, Theorems of Boolean Algebra, Boolean Functions Digital Logic Gates, IC Digital Logic Families; Simplification of Boolean Function: Karnaugh Map Method with 3 variable , 4 variable, 5 variable Map. Sum of Products, Product of Sums, Don?t care; Combinational Logic: Integrated combinatorial circuits, Sequential circuits, Flip-flops, registers, counters, memory units.
A0312403 Systems Analysis and Design 3 Introduction to systems development: System development life cycle, System Development feasibility; Development of fact finding methods: Context diagram, Data flow diagram, Decision tables and trees, Data dictionary; Conceptual design: DB design, Normalization; System Implementation: Installation, System conversion, Training, Development Tools, Documentation.
A0110103 Statistics and Probability 3


Complementary Requirement - 9 Credit Hours:



Compulsory Courses - 9 Credit Hours

Course Code Course Name Credit hours Description
A0110191 Computer Skills (Remedial) 3
A0110141 English Language (Remedial) 3
A0110142 Arabic Language (Remedial) 3

Al-Ahliyya Amman University

Email: Public@ammanu.edu.jo

 

© Copyright Al-Ahliyya Amman University. Amman, Jordan 19111.