Programs

BS in Software Engineering Curriculum

Course (Department, Number, Title)

All courses in the program listed by term starting with the first term of the first year and ending with the last term of the final year.

Indicating whether the course is Required, Elective, or a Selected Elective by an R, an E, or an SE.1 Subject Area (Credit Hours)
Math & Basic Sciences Engineering Topics:

Check if Contains Significant Design (√)

Other
YEAR 1, SEMESTER 1
FLEN 1011 Communicative English Language Skills I R 5
PHYS 1011 General Physics R 5
PSYL 1011 General Psychology and Life Skills R 5
MATH 101N Basic Mathematics for Natural Sciences R 5
LoCT 1011 Critical Thinking R 5
SPSC 1011 Physical Fitness R 0
GEES 1011 Geography of Ethiopia and the Horn R 5
YEAR 1, SEMESTER 2
FLEN 1012 Communicative English Language Skill II R 5
ANTH 1012 Anthropology of Ethiopian Societies and Cultures R 4
MATH 1041 Applied Mathematics I R 5
EMTE 1012 Introduction to Emerging Technologies R 5
HIST 1012 History of Ethiopia and Horn R 5
MCIE 1012 Moral and Civic Education R 4
ECEG 2052 Computer Programming R 5
MGMT 1012 Entrepreneurship 5
YEAR 2, SEMESTER 1
SENG 2021 Computer Programming II R 5
SENG  2041 Fundamentals of Database Systems R 5
SENG 2051 Fundamentals of Software Engineering R 7
SENG2031 Computer Organization and Architecture R 5
MATH 2042 Applied Mathematics II R 7
TCBTP 2003  Demographic survey and problem Identification R 5
MATH 2041 Discrete Mathematics and Combinatory R 5
YEAR 2, SEMESTER 2
SENG 2022 Data Structure and Algorithms R 5
SENG 2052 Object-Oriented Software Engineering R 4
SENG 2032 Operating Systems and Systems Programming R 7
STAT 2044 Probability and Statistics R 5
SENG 2062 Object Oriented Programming R 5
SENG 2072 Fundamental of Networking R 7
TCBTP 2004 Appropriate Technology and Professional ethics R 5
YEAR 3, SEMESTER 1
SENG 3031 Microprocessors and Assembly Language R 5
SENG 3041 Advanced Database Systems R 5
SENG 3051 Requirements Engineering R 5
SENG 3053 Software Engineering Tools and Practices R 5
SENG 3071 Web Design and Programming R 7 (✔)
SENG 3073 Fundamental of Software Security R 5
MATH 3041 Calculus  R 7
YEAR 3, SEMESTER 2
SENG 3052 Software Architecture and Design R 5
SENG 3062 Advanced Programming in Java R 5
SENG 3072 Fundamental of Cloud Computing & IoT R 5
MATH 3042 Linear Algebra R 5
SENG 3092 Fundamental of Artificial Intelligence R 5
SENG 3112 Software Project Management R 5 (✔)
SENG 3074 Fundamental of Distributed Systems R 5 (✔)
TCBTP 302 Action Plan and Implementation R 5
YEAR 4, SEMESTER 1
SENG 4031 Principles of Compiler Design R 5
SENG 4033 Real Time and Embedded Systems R 5
SENG 4091 Fundamental of Machine Learning R 5 (✔)
SENG 4051 Software Testing and Quality Assurance R 7
SENG 4061 Mobile Application Development R 5
MATH 4041 Numerical Analysis R  7
TCBTP 4007 Intervention and Evaluation R 5
YEAR 4, SEMESTER 2
InEn 4202 Internship R 25
YEAR 5, SEMESTER 1
SENG 5051 Software Evolution and Maintenance R 5 (✔)
SENG 5053 Software Metrics R 5
SENG 5091 Fundamentals of Big Data Analytics and Business Intelligence R 5 (✔)
FYPr 4211 Final Year Project I R 7 (✔)
SENG 512o* Elective I E 5
SNIE 1012 Inclusiveness R 3
GlTR 2011 Global Trends R 3
YEAR 5, SEMESTER 2
SENG 5082 Human Computer Interaction R 5
SENG 5084 Computer Graphics and Multimedia R 7
SENG 5112 Selected Topics in Software Engineering R 4
FYPr 4212 Final Year Project II R 7 (✔)
SENG 512e* Elective II E 5
MoE4254 Exit Exam P/F
ECON 1011 Economics R 3
TOTALS (in terms of ECTS) 353 56 223 (12 ✔) 74
TOTALS (in terms of semester credit hours) 211 33 135 (5 ✔) 43
Total must satisfy minimum credit hours Minimum Semester Credit Hours 30 Hours 45 Hours

BS in Software Engineering Course Descriptions

SENG 2021—Computer Programming II (5)

Prerequisites: ECEg 2052. Function ; array and structure; pointer ; File Operations.

SENG  2041—Fundamentals of Database Systems (5)

Data Handling Approaches; Relational Data Model; Conceptual Database Design- E-R Modeling; Logical and Physical Database Design; Query Languages.

SENG 2052—Object-Oriented Software Engineering (4)

Modeling with UML: A Unified Language;Eliciting & Understanding Requirements;Designing Object-Oriented Systems;Ensuring Quality: Beyond Design

SENG 2051—Fundamentals of Software Engineering (7)

Software Development Process & Models; Software Engineering Practices; Software Implementation & Quality Assurance; Advanced Techniques & Emerging Trends.

SENG 2022—Data Structure and Algorithms (5)

Prerequisites: SENG 2021. Algorithm Analysis and Complexity; Fundamental Data Structures; Algorithmic Techniques and Problem Solving; Advanced Data Structures and Techniques.

SENG 2031—Computer Organization and Architecture (5)

Foundational Elements: Data & Building Blocks; Microarchitecture & Control: The Inner Workings; Core Hardware Organization: Processing & Storage; Advanced Techniques: Boosting Performance

SENG 2032—Operating Systems and Systems Programming (7)

Foundational Concepts: Operating Systems & System Programming; Process Management: Juggling Multiple Tasks; Memory Management: Optimizing Resource Utilization; Peripheral Control & Data Storage: Essential Services.

SENG 2062—Object Oriented Programming (5)

Object-Oriented Programming; Building Blocks: Objects and Classes; Code Reusability & Specialization: Inheritance & Polymorphism; Error Handling & Data Persistence: Exception Handling & Files/Streams

SENG 3031—Microprocessors and Assembly Language (5)

Prerequisites: SENG 2031. Microprocessor Fundamentals: Building Blocks & Interfacing; Microprocessor Architecture: Understanding the Inner Workings; Memory & I/O Interfacing and Programming Techniques; Advanced Microprocessor.

SENG 3041—Advanced Database Systems (5)

Prerequisites: SENG 2041.Transactions & Query Optimization: Ensuring Data Consistency and Efficiency; Data Integrity, Security, and Recovery; Distributed and Object-Oriented Database Systems; Data Warehousing.

SENG 3051—Requirements Engineering (5)

Prerequisites: SENG 2051.Requirement Engineering Process; Capturing User Needs: Elicitation & Analysis; Specifying & Validating Requirements; Managing Requirements Throughout the Project

SENG 3053—Software Engineering Tools and Practices (5)

Foundational Practices & Version Control; Model-Driven Development (MDD) for Efficient Design; Version Control Systems for Collaborative Development; Automated Testing & Build Management; Data Representation with XML

SENG 3071—Web Design and Programming (7)

Overview of the internet and www, web design and development, cascaded style sheets, client-side and server- side programming, world class web application.

SENG 2072—Fundamental of Networking (5)

Fundamental communication concepts; networking devices; TCP/IP and OSI reference models; designing LAN and WAN network; wireless networks; protocol in each OSI layers.

SENG 3052—Software Architecture and Design (5)

Prerequisites: SENG 2051.Design Principles & Patterns; Architectural Vision & Quality Attributes; Architecture Throughout the Development Lifecycle; Architecture and Business.

SENG 3062—Advanced Programming in Java (5)

Prerequisites: SENG 2062.Graphical User Interfaces (GUI) Development; Data Management and File Handling; Concurrency and Parallel Programming; Network Programming and Distributed Systems: RMI; JDBC; Servlets..

SENG 3072—Fundamental of Cloud Computing & IoT (5)

Cloud service models and virtualization; cloud automation concepts; critical technology underpinning cloud computing; introduces privacy and security risks; various cloud providers.

SENG 4091—Fundamental of Machine Learning (5)

Prerequisites: SENG 3092. machine learning techniques: supervised;unsupervised and reinforcement learning; Neuaral network;Model evaluation; data preprocessing.

SENG 3112—Software Project Management (5)

Software project management;software quality; develops software project plans; supporting software quality plans and risk.

SENG 4031—Principles of Compiler Design (5)

Automata and formal language;Phasese of compiler: Lexical analysis, syntax  analysis, semantic analysis, symbol table, inermidiate code generator, code optimization, code generation

SENG 3074—Fundamental of Distributed Systems (5)

Distributed system ;distributed algorithms for scheduling; replication; synchronization and concurrency; locking,  network communication and  security .

SENG 4051—Software Testing and Quality Assurance (7)

Fundamentals of Software Testing;Testing Techniques & Levels;Tools, Automation & ImprovementQuality Assurance (QA) in the Software Development Lifecycle (SDLC).

SENG 4061—Mobile Application Development (5)

Develop and design mobile applications; a strong understanding of Android platform; Android application components and their lifecycle; UI design; 2D graphics and networking support in Android.

SENG 3092—Fundamentals of Artificial Intelligence (5)

Application of AI; Intelligent agents; Solving problem by searching; Knowledge and reasoning; Uncertain Knowledge and Reasoning; learning.

InEn 4202—Internship (25)

Apply the knowledge acquired during the degree program, acquire skills in real working environments and learn how to solve the problems required in Industry and be sound in real technical problems.

SENG 5051—Software Evolution and Maintenance (5)

Maintenance Support Processes and  Measurements; Management and Organizational Issues; Maintenance Management Problems;Software Architecture Evolution; Reverse Engineering; Forward Engineering,

SENG 5053—Software Metrics (5)

foundations of measurement theory; models of software engineering measurement; software Products metrics; process metrics and measuring management, quality; measuring cost and effort, reliability.

SENG 5091—Fundamentals of Big Data Analytics and Business Intelligence (5)

Big data analytic; big data Tools and Technology; knowledge of data analytics and business intelligence; querying big data with Hive and also work with and analyze large data sets;identify patterns.

FYPr 4211—Final Year Project I (7)

Prerequisites: SENG 3051.  developing problem-solving; creativity; identifying appropriate software engineering methodologies, tools, and technologies acquired.

SENG 512o*—Elective I (5)

develop Windows Application Programs; Advanced data handling, Accessing Database File; Basic Visual Basic.Net or Java or C#.

SENG 5121—Event Drive Programming (5)

develop Windows Application Programs; Advanced data handling, Accessing Database File; Basic Visual Basic.Net or Java or C#.

SENG 5123—Distributed Database Management System (5)

distributed database systems and architectures; distributed database design; distributed query processing and optimization; transaction management and concurrency control;heterogeneous and multi-database.

SENG 5125—Parallel Computing (5)

Parallel architectures and network topologies; parallel algorithms; parallel metrics; parallel languages; granularity applications; parallel programming design and debugging

SENG 5127—Design and Analysis Algorithms (5)

Divide-and-conquer; dynamic programming; greedy  and graph algorithms; elementary graph algorithms

SENG 3073—Fundamentals of Software Security (5)

Prerequisites: SENG 2072.Core Concepts & Cryptographic Techniques;Securing Applications & Operating Systems;Comprehensive Security Landscape;Risk Management & Security Assessments

SENG 5082—Human Computer Interaction (5)

The Foundations: Humans & Computers;The Art & Science of Interaction Design;Building Usable Systems: Design & Implementation;Ensuring Usability: Evaluation & User Support

SENG 5084—Computer Graphics and Multimedia (7)

multimedia technologies; storage models, interfaces; media synchronization; image computing and information assimilation; conferencing paradigms and teach basic interactive computer graphics.

SENG 5112—Selected Topics in Software Engineering (3)

Recent theoretical and technical issues of software engineering;  acquire advanced theoretical knowledge; technical competences covered in the course as well as some research methods.

FYPr 4212 —Final Year Project II (7)

Prerequisites: FYOr4211.  implementing  what they proposed in project I demonstration and understanding the principles of software engineering; testing the proposed solution for identifiyed problems.

SENG 512e*—Elective II (5)

SENG 5129—WEB Service (5)

Web Services ; Defining SOAP Messages with WSDL;Implementing Code–First Web Services; Generating Contract–First Web Services and Building RESTful Web Services;Customizing a RESTful Service Implementation;Providing Server-side

SENG 5122—Software Agent (5)

Agent systems and software agents; agent system architecture; infrastructure from a software engineering; methodology for agent-oriented software engineering

SENG 5124—Software Risk Managements (5)

It provide a disciplined environment for proactive decision making to assess continuously what could go risks, determine which risks are important to deal with, and implement strategies to deal with those risk.

SENG 5126—Software Process Improvements (5)

Foundations: Process, Quality, & Planning; Process Modeling & Analysis Techniques; Measuring & Improving the Current State; Measurement, Metrics & Advanced Topics

SENG 5128—Social Networks (5)

Networks: Structure & Analysis;Networks & Strategic Interactions;Information Diffusion & the World Wide Web;Network Dynamics & Social Influence

SENG 512a—Software Component Design (5)

Design and implementation of software subsystems;Building Blocks & Design Patterns;Concurrency & Thread Management;Communication Mechanisms for Components

SENG 4033—Real Time and Embedded Systems (5)

Prerequisites: SENG 3031. Building Blocks: Embedded System Architecture;Software Frameworks & Development Tools;Design Challenges & Considerations;Communication Mechanisms for Real-Time Systems.