Bachelor of Software Engineering (BSE)
Programme Background and Rationale
In the earlier era, the disciplinary focus served the engineering demands well. However, with technological advancements in manufacturing, information, communication, and transportation technologies reshaping the society in unparalleled ways, software engineers are now facing unprecedented challenges. In a global competitive marketplace, consumers are demanding highly sophisticated products, which drive design innovation towards enhanced functionality, and shorter-life-cycle-products. These dynamics now require that software engineering education takes place in cooperative, active-learning environments with participants from diverse backgrounds. Moreover, the evolving market needs require that software products evolve at an even higher rate in order to meet and shape those demands. Further, software engineering has become a popular career choice for skilled programmers the world over. The industry offers wide career choices and opportunities which gives it an edge over other fields. Using the creative side of coding, software engineering is like an art, with a creative side. Therefore this course is designed to produce problem solvers, which itself requires creative skills. The world is now heavily technology dependent: there is unsatisfied need for software engineers due to increasing reliance on mobile technology, venture capital-backed start-ups, growing complexity of technology and emerging industries – all which demand highly skilled and well qualified software engineers.
The development of many physical devices that are connected to the internet further amplify the need for software engineers. Amoud University, in realization of this global need and cognizant of the need for software engineers in the local market, views the mounting of this bachelor of software engineering programme as a means for creating the right personnel to solve the software problems in the country and beyond. The need for reliable and effective software products need not be overstated: emerging issues in all fields created by new conditions that require software solutions will continue to emerge. This software engineering programme is a response to such needs and shall continuously respond to such needs at all times. This programme has been developed with reference to the Joint Task Force on Computing Curricula IEEE Computer Society Association for Computing Machinery (Software Engineering, https://www.acm.org/education/curricula-recommendations, 2014). It therefore meets the international standards of software engineering curriculum.
Programme Objectives
General Objective
The general objective of this programme is to prepare students for professional careers and graduate studies with a balance between computing theory and practical application of software engineering concepts, methodologies, tools and technologies for use in the modern software development environments.
Specific Objectives
By the end of the programme, students should:
- Acquire professional knowledge and a continuing professional acumen through mastery of software engineering knowledge, skills and professional standards expected of a software engineer. They should be familiar with new models, techniques, and technologies and learn them as they emerge, appreciating the necessity of such continuing professional development.
- Exhibit technical knowledge and demonstrated understanding and application of appropriate theories, models, and techniques to identify a problem, analyze, design software, develop, implement, verify, and document.
- Be able to work individually and as part of a team develop and deliver quality software artifacts.
- Be able to develop end-user awareness, understand and appreciate the importance of negotiation, effective work habits, leadership, and good communication with stakeholders in a typical software development environment.
- Be able to design appropriate solutions in specific contexts and perform trade-offs in one or more application domains using software engineering approaches that integrate ethical, social, legal, and economic concerns; reconcile conflicting project objectives and find acceptable compromises within the limitations of cost, time, knowledge, existing systems, and organizations.
Programme Duration
The programme run on a semester basis consisting of four semesters each lasting 17 weeks, or part-time basis as appropriately structured by the Faculty of Computing and Informatics and department of software engineering, and approved by Senate.
Programme Modalities
The programme shall be conducted by course work, examinations and project, based on credit units. The last two weeks of each semester of each academic year shall normally be used for end-of-semester examinations. Further,
- A student shall take foundation/general courses in English, mathematics, science, Arabic, Islamic studies during the first one year in the freshmen. The freshman year also acts as a gateway to full admission into the bachelor of software engineering programme.
- By the end of junior year, a student shall be required to attend at least 300 hours of internship in a real work environment.
- A student shall come up with a well-written project in the area of software engineering during the senior year of study.
Curriculum Plan
The programme shall run on a semester basis consisting of eight (8) semesters each lasting 17 weeks in a period of four (4) academic years, whether on full time, part-time, sandwich, or online or other modes as structured by the Faculty of Computing and Informatics, and department of software engineering, and approved by Senate.
|
|
|
|
|
|
| |
FRM 6111 | Introduction to reading | 45 | 0 | 45 | 3 | ||
FRM 6112 | Introduction to writing | 45 | 0 | 45 | 3 | ||
FRM 6113 | Introduction to biology | 30 | 45 | 75 | 3 | ||
FRM 6114 | Arabic language | 45 | 0 | 45 | 3 | ||
FRM 6115 | Pre-calculus | 45 | 0 | 45 | 3 | ||
Total |
| 210 | 45 | 255 | 15 | ||
|
|
|
|
|
| ||
FRM 6121 | English academic writing | 45 | 0 | 0 | 0 | 45 | 3 |
FRM 6122 | Islamic studies | 45 | 0 | 0 | 0 | 45 | 3 |
BSE 6121 | Probability and statistics | 45 | 0 | 0 | 0 | 45 | 3 |
BSE 6122 | Fundamentals of information technology | 45 | 0 | 0 | 0 | 45 | 3 |
BSE 6123 | Fundamentals of computer networks | 45 | 0 | 0 | 0 | 45 | 3 |
BSE 6124 | Introduction to physics | 45 | 0 | 0 | 0 | 45 | 3 |
Total |
| 270 | 0 | 0 | 0 | 270 | 18 |
|
|
|
|
|
| ||
BSE 6211 | Programming technique I (C) | 30 | 0 | 45 | 0 | 75 | 3 |
BSE 6212 | Computer architecture and organization | 45 | 0 | 0 | 0 | 45 | 3 |
BSE 6213 | Principles of database management systems (Access) | 30 | 0 | 45 | 0 | 75 | 3 |
BSE 6214 | Linear algebra | 45 | 0 | 0 | 0 | 45 | 3 |
BSE 6215 | Introduction to software engineering | 45 | 0 | 0 | 0 | 45 | 3 |
BSE 6216 | Human computer interaction | 45 | 0 | 0 | 0 | 45 | 3 |
BSE 6217 | Multimedia systems and graphics | 30 | 0 | 45 | 0 | 75 | 3 |
Total |
| 270 | 0 | 135 | 0 | 405 | 21 |
|
|
|
|
|
| ||
BSE 6221 | Programming technique II (Python) | 30 | 0 | 45 | 0 | 75 | 3 |
BSE 6222 | Data structures and algorithms | 30 | 0 | 45 | 0 | 75 | 3 |
BSE 6223 | Software requirements engineering | 45 | 0 | 0 | 0 | 45 | 3 |
BSE 6224 | Software modeling and architectural design | 45 | 0 | 0 | 0 | 45 | 3 |
BSE 6225 | Web design (HTML/CSS) | 30 | 0 | 45 | 0 | 75 | 3 |
BSE 6226 | Systems software (Computer operating systems) | 45 | 0 | 0 | 0 | 45 | 3 |
BSE 6227 | Discrete mathematics | 45 | 0 | 0 | 0 | 45 | 3 |
Total |
| 270 | 0 | 135 | 0 | 405 | 21 |
|
|
|
|
|
| ||
BSE 6311 | Programming technique III (Java) | 30 | 0 | 45 | 0 | 75 | 3 |
BSE 6312 | Unified modeling language ((UML) | 45 | 0 | 0 | 0 | 45 | 3 |
BSE 6313 | Web development (JavaScript) | 30 | 0 | 45 | 0 | 75 | 3 |
BSE 6314 | Artificial intelligence and software agents | 45 | 0 | 0 | 0 | 45 | 3 |
BSE 6315 | Enterprise database development (Oracle) | 30 | 0 | 45 | 0 | 75 | 3 |
BSE 6316 | Software research project concepts and proposals | 45 | 0 | 0 | 0 | 45 | 3 |
BSE 6317 | Digital logic and design | 45 | 0 | 0 | 0 | 45 | 3 |
Total |
| 270 | 0 | 135 | 0 | 405 | 21 |
|
|
|
|
|
| ||
Course Code | Course Title | LH | TH | PH | FH | CH | CU |
BSE 6321 | Programming technique IV (PHP/My SQL) | 30 | 0 | 45 | 0 | 75 | 3 |
BSE 6322 | Ethical Hacking (Linux) | 30 | 0 | 45 | 0 | 75 | 3 |
BSE 6323 | Enterprise database development (SQL server) | 30 | 0 | 45 | 0 | 75 | 3 |
BSE 6324 | Agile software development and practice | 45 | 0 | 0 | 0 | 45 | 3 |
BSE 6325 | Mobile application I: Programming concept | 30 | 0 | 45 | 0 | 75 | 3 |
BSE 6326 | Software program complexity and computability | 45 | 0 | 0 | 0 | 45 | 3 |
BSE 6327 | Simulation and modeling | 30 | 0 | 45 | 0 | 75 | 3 |
Total |
| 240 | 0 | 225 | 0 | 465 | 21 |
BSE 6331 | Industrial attachment and report | ||||||
Total |
| 0 | 0 | 0 | 300 | 300 | 5 |
|
|
|
|
|
| ||
BSE 6411 | Programming technique V (C#) | 30 | 0 | 45 | 0 | 75 | 3 |
BSE 6412 | Distributed enterprise applications (ERPs) | 30 | 0 | 45 | 0 | 75 | 3 |
BSE 6413 | Data mining and data warehousing | 30 | 0 | 45 | 0 | 75 | 3 |
BSE 6414 | Software reliability and security | 45 | 0 | 0 | 0 | 45 | 3 |
BSE 6415 | Mobile application II: Project design and implementation | 30 | 0 | 45 | 0 | 75 | 3 |
BSE 6416 | SE individual project I (proposal) | 30 | 30 | 0 | 0 | 120 | 3 |
BSE 6417 | Document oriented database (Mongo DB) | 30 | 0 | 45 | 0 | 75 | 3 |
Total |
| 225 | 30 | 225 | 0 | 480 | 21 |
|
|
|
|
|
| ||
BSE 6421 | Software quality assurance | 45 | 0 | 0 | 0 | 45 | 3 |
BSE 6422 | Software project management | 30 | 0 | 45 | 0 | 75 | 3 |
BSE 6423 | Entrepreneurship skills for software engineers | 45 | 0 | 0 | 0 | 45 | 3 |
BSE 6424 | Professional and ethical issues in software engineering | 45 | 0 | 0 | 0 | 45 | 3 |
BSE 6425 | Emerging issues and technologies of the future | 45 | 0 | 0 | 0 | 45 | 3 |
BSE 6426 | SE individual project II (implementation and report) | 15 | 60 | 0 | 0 | 75 | 3 |
Total |
| 225 | 60 | 45 | 0 | 330 | 18 |
Grand Total | 1995 | 945 |
General Regulations
General University regulations and guidelines for undergraduate programmes shall apply with regard to application, registration, teaching, learning, examinations, research and graduation. A student is required to sign a memorandum of understanding during the registration process on pre-scribed forms.
Admission Requirements
This bachelor of software engineering programme is best suited to students with interest in becoming future database administrators or web masters in business tech firms. To qualify for admission into the degree of bachelor of software engineering, an applicant shall:
- Hold a Somaliland GCSE of at least Grade “C”, or its equivalent from a recognized examination body.
- Successfully complete a one-year freshman programme at Amoud University, and attain a GPA of at least 2.00.
- Meet other conditions as spelt out by the Faculty of Computing and Informatics and the department of software engineering, with approval of Senate.
Enrolment Types
There shall be three (3) categories of enrolments as follows:
- Full-Time Day face-to-face enrolled students who shall attend classes between 7.30 am 4.30 pm from Saturday to Thursday.
- Full-Time Evening face-to-face enrolled students who shall attend classes between 4.00 pm and 10.00 pm from Saturday to Thursday.
- Sandwich, part-time, and other modes enrolled students who shall attend classes during specific periods as specified by the Faculty of Computing and Informatics and department of software engineering, and approved by Senate.
Staff, Facilities and Equipment
The faculty of computing and informatics and the department of software engineering have adequate resources to offer this programme. The faculty has three (3) functional and well equipped computer laboratories fitted with over-head digital projectors and personal computers. In addition, the faculty has an engineering and computational laboratory, with state-of-the-art telecommunications equipment, including transport nodes, data packet routers, voice over IP gears, and a cluster of Linux workstations for protocols development and testing, that provides extensive facilities for research in telecommunications, microelectronics, and computer science. The telecommunication laboratory has training kits for fiber optics, antennas, microwaves, among other areas. Students attend extended industrial attachment training periods to gain experience get exposed to the real equipment used in software engineering.
There is free WiFi24/7 on campus internet connections in all computer laboratories and surrounding areas hosted by two local internet service providers, with a total of 20 Mbps download and 20 Mbps upload internet speeds. The main university library has an array of information materials for further reading, and several electronic books and reference materials are also available through Amoud University Google classroom suite. The faculty has a well balanced team of highly competent local and non-local staff, trained locally and abroad. The teaching staff is readily available to help students as needs arise. The programme is allocated sufficient time and with efficient management, the faculty ensures that students complete their courses on time.
Funding
The programme of bachelor of software engineering is sustained largely by funds from tuition fees and other relevant levies. The student must show proof of ability to pay tuition fees on time before being enrolled into the programme. There are no special funding arrangements for the students enrolled in the programme of bachelor of software engineering. However, if and when, additional funds are available, they shall be dispensed according to the university financial policies.
Target Groups
The target group for the bachelor of software engineering programme includes but is not limited to:
- Students who have successfully completed Somaliland General Secondary School Certificate (SGCSE) or its equivalent from a recognized examination body and further completed Amoud University freshman academic year successfully and who wish to pursue a career in Software Engineering.
- People who are already working in the field of software engineering or related fields but would like to add new skills set to their professional work and attain formal certification in software engineering.
- Other persons with insight in software engineering and would like to pursue the challenge of software engineering at the undergraduate degree level.
Expected Programme Outcomes
The graduates of the Bachelor of Software Engineering programme should be persons who are:
- Expert consultants in software development for public and private organizations at the local and international levels as well as for individuals, offering tailor-made or bespoke solutions to the clientele’s challenges.
- Employees of tech-driven companies and specifically as software engineers, who are responsible for analyzing, designing, developing, maintaining or re-engineering software systems for specific needs of corporate firms and private organizations.
- Private software developers in self-employment, who can analyze the market, identify software problems and design and develop working software solutions for the shelves.