Software Engineering

Bachelor in Software Engineering

 

The aim of this program is to produce Software Engineering graduates who meet the industry needs, with excellence in technical and research skills, and comply with latest trends.

 

 

Upon completion of the program, the graduates will be able to:

  1. Problems by applying principles of computing, mathematics and statistics.  
  2. Apply software development life cycle techniques to produce high-quality software solutions.
  3. Practice ethical, legal, social, and professional responsibilities.  
  4. Formulate research plans to develop and evaluate computation techniques and models to solve problems.  
  5. Develop applications using various platforms.  
  6. Develop intelligent systems and perform data analysis using advanced Machine Learning techniques.  
  7. Communicate and engage effectively with teams and diverse stakeholders.  

 

Allotment to the Software Engineering specialization is based on the CGPA scored by the student in Advance Diploma. Requirements to progress to Bachelor in Software Engineering:

  •  Student must complete Advance Diploma in Software Engineering successfully with CGPA ≥ 2.5 in scale of 4.
  •   IELTS band Score ≥5 or the FDL Mark should be ≥ 74 .
  •   Lateral entry of students is governed by UTAS bylaws.

Reference: UTAS Bylaws and its Amendments (Reference: 1. MoMP Bylaws of College of Technology & its Amendments)

 

  •   Software Programmer
  •   Software Engineer
  •   Full Stack Web Developer
  •   Mobile Application Developer
  •   Web Administrator
  •   Software Development
  •   Software Development
  •   Systems Analyst

Semester 1

 

This course introduces students to various concepts of IT/IS including number systems, operating systems, networks, system development life cycle, algorithms, flow charts, and Information System infrastructure. It will also cover the use of various IT/IS systems in business organizations, careers, and certifications

This course enables the students to be familiarized with the importance of databases, core concepts of relational databases, techniques of database design and its refinement, and the concepts of non-relational databases.

This course introduces the practical knowledge and skills in writing markup language tags, designing style sheets, and scripting in order to design websites according to W3C standards, using the latest web tools and technologies. Fundamental Photoshop skills acquired and practiced in a manner that engages creativity and encourages experimentation.

This course introduces the architectures, models, protocols and networking elements that connect users, devices, applications and data through the internet and across modern computer networks - including IP addressing and Ethernet fundamentals.

Semester 2

Prerequisite:FPMP0003
This course is a first common math course at diploma level for all specializations except pharmacy and design; it plays an important role in the understanding of science, engineering, economics, computer science, and other disciplines. The course covers the quite familiar basic calculus concepts like limits and continuity, derivatives, optimization, definite integrals, exponential and logarithmic functions, trigonometric functions,and techniques of integration. The course contents are explored to the students through problem solving, to understand them better, and to improve the ability to apply them in real time

Prerequisite:CSCM1101
This course provides fundamental programming concepts and techniques using high level programming language. In this course student will create programs which include variables, loops, decision making and different types of functions and data collections. Student will develop programs that can handle data files and include exception handling. In addition, the student will be able to produce a simple web application program.   

 

Prerequisite:CSCM1101
This course discusses the basic facilities provided by the operating system. Students will be familiarized with the functions of operating systems, including process management (processes, threads, context switch, concurrency control, synchronization, scheduling, deadlocks, etc.), primary memory management, virtual memory management, file systems, resource allocation, and information protection. Students will rewrite fundamental parts of the UNIX/Linux user space.

Prerequisite:CSCN1104
This course gives a comprehensive understanding of information security concepts and security services. Students will be familiarized with various types of security threats and attacks on systems and explore security measures that can be used for dealing with risks and security breaches in computer and network systems.

Semester 1

 

  • Uncs2215- Communication Skills
  • Unpr2217- Preparing for Work
  • Unwe2216- Working Ethics
  • Unis2206- Islamic Studies
  • Unoc2207- Oman Civilization and Man
  • Unct2210- Critical Thinking
  • Uncl2211- Chinese Language
  • UNFL2213- French Language
  • UNFL2215- German Language

 

Prerequisite:CSCM1101

Prerequisite:CSDB1102 & CSCM1101
This course introduces the basic principles and concepts of software engineering, giving a firm foundation for further coursework in this field. It gives broad coverage of the most important terminology in software engineering. Upon completing this course, students will be able to do Analysis, Modelling, Design, and Testing of an IT application, they will also have a basic understanding of Requirements Engineering and Software Project management.

Prerequisite:CSWD1103
This course builds skills needed to develop functional and dynamic websites. Students will learn the client-server architecture, server-side scripts, database manipulation, and web security and authentication of web-based applications.

Prerequisite:CSDB1102
This course prepares students to gain skills in creating, and using Structured (SQL) and Unstructured databases (NoSQL).

Prerequisite:MATH1200
This course covers the mathematical concepts required for modelling and enhancing mathematical skills to apply in some computer programs. The main objective of the course is to provide basic understanding of structure and construction of numerical algorithms using the following computational techniques: interpolation and approximation of functions, finding the roots of non-linear equations, Integers, applications of modular arithmetic, solution methods for matrix equations and basic introduction to vectors. This course emphasizes on the understanding of the accuracy, efficacy, efficiency and stability of the solutions obtained by the numerical methods.

Semester 2

Prerequisite:CSPG1205
This course covers basics of Object-Oriented Programming approach to provide great flexibility, modularity, and code reusability in developing computer programs. They will learn programming using objects and classes, abstraction and encapsulation, class inheritance, polymorphism, exception handling, abstract classes, and interfaces. The student will also learn the basics of Graphical User Interfaces (GUI) and event-driven programming

 

This course aims to introduce latest emerging and innovation technologies in the field of Computing. This can mean the use of a new programming language, development tool, a new process, a new design method, or targeting a new platform. This course is concerned with the most recent innovations in the field, with a view to bringing the students up to date with modern trends

Prerequisite:BSFB2101
This course is offered in the first semester of the second year Diploma level. The course aims to impart knowledge on the different models of organizational behavior. The course also discusses the dimensions of individual behavior comprising of group dynamics and intergroup behavior. It also discusses the functions like communication leadership, power and conflicts towards organizational behavior. The challenges involved in managing human resources and the structure and the job design required for the organization were also discussed in this course. The course gives an idea of how the behavior in an organization differs and one has to cope with this.

Prerequisite:CSPG1205
The course enables students to implement data structures and do analysis of algorithms. This course is designed to extend the knowledge of cognitive programming and optimization skills.

Prerequisite:CSSE2101 + { CSWD2101 OR CSPG1205}
In this course, students will apply the software engineering and programming concepts to develop a software application. the students will be able to develop an application for a real world requirement that has passed through the Software Development Life Cycle. It will give the students a valuable teamwork experience and communication skill.

Semester 1

Prerequisite:UNEN1203

Prerequisite:MATH1202
This is a service course that is intended for students whose mathematical background is Calculus. The course follows a theoretical approach with significant examples of formal mathematical proofs. In addition, fundamental concepts are presented with intuitive examples along with practical examples using a statistical software. The course goal is to deliver an understanding of elementary statistics, fundamental concepts in probability theory, random variables, some discrete and continuous probability distributions, expectation, cumulative distribution function, probability mass function, and essential techniques of parameter estimation, tests of hypothesis, and regression analysis. After taking this course, students will be able to use a statistical package in performing data visualization, analysis, and inferences for small and large sample datasets.

Prerequisite:CSWD1103
This course covers simple web application development using React. It implements front-end frameworks, advance JavaScript concepts and application integration with NoSQL databases. This course enables to work with Repository Management Environment.

Prerequisite:CSSE2202 + { CSSE2101 OR CSIS2101 }
This course will cover the object oriented paradigm for analysing, designing and implementing computer applications. Trade-offs between various object oriented techniques will be illustrated with a series of real world applications to allow the student to optimize his/her solutions for robustness and reuse. 

Prerequisite:CSSE2203
This course explores the foundational principles that drive artificial intelligence (AI) and Machine Learning techniques and practices implementing some AI approaches. Specific topics include search, knowledge representation and reasoning, constraint satisfaction problems, and machine learning. Students will be able to use the tools that allow use of AI in problems encountered in life.


CSSE3104 - Computer Graphics and Games Development - Prerequisite: CSPG1205
CSSE3205 - Fundamentals of Robotics - Prerequisite:CSPG1205
CSSE4106 - DevOps and Continuous Delivery - Prerequisite:CSPM3201
CSSE4107 - Theory of Computation - Prerequisite: MATH3202
CSSE4208 - Innovation and Emerging Technologies - Prerequisite: None
CSSE4209 - Advanced Mobile Application Development - Prerequisite: CSSE3203
CSNW3203 - System Administration - Prerequisite:CSOP1207
CSNW3202 - Cloud Computing Fundamentals - Prerequisite: None
CSIS3101 - Business Process Management - Prerequisite: CSSE2101 OR CSIS2101
CSIS3102 - IS Management and Strategy - Prerequisite: CSCM1101
CSIS3204 - Fundamentals of Digital Marketing - Prerequisite: NONE
BSFB2101 - Fundamentals of Business - Prerequisite: NONE
CSSY3202 - Web Applications Security - Prerequisite: CSWD2101
CSSY3205 - Authentication and Access Control - Prerequisite: CSSY1208
CSDS4111 - Introduction to Blockchain - Prerequisite: NONE
CSDS4208 - Deep Learning - Prerequisite: CSDS4104
CSDS3205 - Data Visualization - Prerequisite: NONE
CSDS3105 - Database Programming - Prerequisite: CSDS2101
CSDS3101 - Fundamentals of Big Data - Prerequisite: CSDS2101
CSDS4102 - Natural Language Processing - Prerequisite: CSDS3203

Semester 2

Prerequisite:CSPG1205 + STAT3101
This course gives students a broad overview of the key steps in data science such as accessing, cleansing, exploring, analyzing, visualizing, and interpreting data.

Prerequisite:CSSE2101 OR CSIS2101
This course provides in-depth discussions of project management principles and modern software project management practices as well as methodologies such as the Agile methodology. Students will also learn the concepts of acquisition, contract basics, and management skills to successfully deal with acquired technical resources. Through IT-based case studies and role-playing, they will learn about procurement and acquisition activities, develop acquisition strategies, and prepare different acquisition plans.

Prerequisite:STAT3101
This course enables students to use key concepts, methods, techniques, and tools in conducting research projects relevant to computing and information science field.

Prerequisite:CSSE3101
This course covers the fundamentals of cross-platform application development. The goal is to help students to create apps for iOS, Android, and Web with local and remote databases. 

Prerequisite:CIGD3109
This course introduces the User Experience (UX) concepts and design sprint phases by applying the relevant principles, latest tools, and techniques. Students will be familiarized with evaluating the usability of the User Interface (UI) design. .


CSSE3104 - Computer Graphics and Games Development - Prerequisite: CSPG1205
CSSE3205 - Fundamentals of Robotics - Prerequisite:CSPG1205
CSSE4106 - DevOps and Continuous Delivery - Prerequisite:CSPM3201
CSSE4107 - Theory of Computation - Prerequisite: MATH3202
CSSE4208 - Innovation and Emerging Technologies - Prerequisite: None
CSSE4209 - Advanced Mobile Application Development - Prerequisite: CSSE3203
CSNW3203 - System Administration - Prerequisite:CSOP1207
CSNW3202 - Cloud Computing Fundamentals - Prerequisite: None
CSIS3101 - Business Process Management - Prerequisite: CSSE2101 OR CSIS2101
CSIS3102 - IS Management and Strategy - Prerequisite: CSCM1101
CSIS3204 - Fundamentals of Digital Marketing - Prerequisite: NONE
BSFB2101 - Fundamentals of Business - Prerequisite: NONE
CSSY3202 - Web Applications Security - Prerequisite: CSWD2101
CSSY3205 - Authentication and Access Control - Prerequisite: CSSY1208
CSDS4111 - Introduction to Blockchain - Prerequisite: NONE
CSDS4208 - Deep Learning - Prerequisite: CSDS4104
CSDS3205 - Data Visualization - Prerequisite: NONE
CSDS3105 - Database Programming - Prerequisite: CSDS2101
CSDS3101 - Fundamentals of Big Data - Prerequisite: CSDS2101
CSDS4102 - Natural Language Processing - Prerequisite: CSDS3203

Semester 1

This course covers the concepts, methods and techniques that can be used to design software application systems, recover bugs, enhance performance and quality, and lower the costs of developing the software application system. Student will be able to explain the implementation and utilization of different design patterns.

Prerequisite:CSDS3203 + CSDS3202

Prerequisite:CSRM3202
This course enables the students to applications/research work with creative ideas using the knowledge and skills acquired up to the bachelor level, leading to a quality project in two (2) semesters duration. A prototype for the proposed application will be developed and presented orally in front of external panel in the final review of this course .

Prerequisite: CSSE3101
This course covers full-stack web application development. It implements a server side application that communicates to the client through a RESTful API. This course enables the students to works with Node.js environment, Express framework and deploy the web application on the cloud.

CSSE3104 - Computer Graphics and Games Development - Prerequisite: CSPG1205
CSSE3205 - Fundamentals of Robotics - Prerequisite:CSPG1205
CSSE4106 - DevOps and Continuous Delivery - Prerequisite:CSPM3201
CSSE4107 - Theory of Computation - Prerequisite: MATH3202
CSSE4208 - Innovation and Emerging Technologies - Prerequisite: None
CSSE4209 - Advanced Mobile Application Development - Prerequisite: CSSE3203
CSNW3203 - System Administration - Prerequisite:CSOP1207
CSNW3202 - Cloud Computing Fundamentals - Prerequisite: None
CSIS3101 - Business Process Management - Prerequisite: CSSE2101 OR CSIS2101
CSIS3102 - IS Management and Strategy - Prerequisite: CSCM1101
CSIS3204 - Fundamentals of Digital Marketing - Prerequisite: NONE
BSFB2101 - Fundamentals of Business - Prerequisite: NONE
CSSY3202 - Web Applications Security - Prerequisite: CSWD2101
CSSY3205 - Authentication and Access Control - Prerequisite: CSSY1208
CSDS4111 - Introduction to Blockchain - Prerequisite: NONE
CSDS4208 - Deep Learning - Prerequisite: CSDS4104
CSDS3205 - Data Visualization - Prerequisite: NONE
CSDS3105 - Database Programming - Prerequisite: CSDS2101
CSDS3101 - Fundamentals of Big Data - Prerequisite: CSDS2101
CSDS4102 - Natural Language Processing - Prerequisite: CSDS3203

 

Semester 2

Prerequisite: CSCM1101
This course enables the students to understand the concepts of computer architecture organization, and to develop skills in assembly language programming.

Prerequisite: MATH2101
Each module has been designed in such a way that they are elaborated with both concepts and problems involving programs. The credit hours for each module are sufficient for completion of the topics. An oriented approach on practical problems and programming language adaptation will be dealt with some parts of the modules such as set theory, relations, recurrence relations and tree algorithms.

 

Prerequisite:CSIS4102
This course enables the students to analyse and design application/research work with creative ideas using the knowledge and skills acquired up to the bachelor level, leading to a quality project in two (2) semesters duration .

CSSE3104 - Computer Graphics and Games Development - Prerequisite: CSPG1205
CSSE3205 - Fundamentals of Robotics - Prerequisite:CSPG1205
CSSE4106 - DevOps and Continuous Delivery - Prerequisite:CSPM3201
CSSE4107 - Theory of Computation - Prerequisite: MATH3202
CSSE4208 - Innovation and Emerging Technologies - Prerequisite: None
CSSE4209 - Advanced Mobile Application Development - Prerequisite: CSSE3203
CSNW3203 - System Administration - Prerequisite:CSOP1207
CSNW3202 - Cloud Computing Fundamentals - Prerequisite: None
CSIS3101 - Business Process Management - Prerequisite: CSSE2101 OR CSIS2101
CSIS3102 - IS Management and Strategy - Prerequisite: CSCM1101
CSIS3204 - Fundamentals of Digital Marketing - Prerequisite: NONE
BSFB2101 - Fundamentals of Business - Prerequisite: NONE
CSSY3202 - Web Applications Security - Prerequisite: CSWD2101
CSSY3205 - Authentication and Access Control - Prerequisite: CSSY1208
CSDS4111 - Introduction to Blockchain - Prerequisite: NONE
CSDS4208 - Deep Learning - Prerequisite: CSDS4104
CSDS3205 - Data Visualization - Prerequisite: NONE
CSDS3105 - Database Programming - Prerequisite: CSDS2101
CSDS3101 - Fundamentals of Big Data - Prerequisite: CSDS2101
CSDS4102 - Natural Language Processing - Prerequisite: CSDS3203