The underlying and guiding philosophy of the Diploma in Software Engineering program is to promote scholastic, as well as the search for and the application of scientific knowledge through education, training, and research. The Institution is committed to pursuing this philosophy through the provision of a world-class program in Information Technology with a concentration in Software Engineering and aimed at training highly skilled and globally employable professionals.
The goals of the program are:
- To prepare students for professional careers Information Technology (Specialization in Software Engineering) with a balance between computing theory and practical application of software engineering concepts, methodologies, tools and technologies in the modern software development environments.
- To expose students to a wide range of computer skills to prepare them for the job market as professionals practicing information technology in areas ranging from the design and construction of microprocessor systems, the writing of complex computer software and application systems, to design the next generation systems and application software.
- To provide students with a high-quality program that confers skills required for entrepreneurial undertakings or job placements.
- To prepare students with the capability of team and organizational leadership in computing project settings, and have a broad understanding of computing-based solutions to organizational problems.
The Rational The need for trained IT professionals is one of the challenges faced by the Liberian economy. The world economy is experiencing the effects of rapid globalization and the impact of the information age characterized by emerging technologies plays a major part. The role that the IT field and industry can play to support the socio-economic development process has been recognized by governments worldwide, including the government of Liberia.
It has also been acknowledged that the worldwide shortage of qualified human resources in the computer field has been one of the main obstacles to the deployment, exploitation, and development of ICTs to accelerate economic and social development. This problem is more felt in developing countries like Liberia, than is the case in industrialized countries.
National Demand for the Program
In Liberia, the need for trained personnel of integrity, good work ethics, excellent professional skills, and positive human relations to contribute towards the realization of Liberia’s socio-economic development cannot be overemphasized. Specifically, there is an urgent need in Liberia to meet the shortfall of IT professionals with the requisite skills. This program is, therefore, designed to address the major area of manpower requirements of the nation by preparing qualified youth for IT careers in the public and private sectors of the economy.
Employment Prospects of Students (Prospective/Current)
The worldwide shortage of computer professionals is a well-known phenomenon. In Liberia as in other countries, there is an acute shortage of qualified computer personnel.
The market for IT professionals in Liberia and elsewhere is large and growing. Almost every sector needs computer personnel and as such the employment prospects of IT professionals are great in every country including Liberia. Experience from elsewhere shows that professionals in this field are in high demand and most participants in this type of program are normally offered jobs before completion. We, therefore, expect very high demand in Liberia and elsewhere for graduates of this program. Graduates can go on to pursue a professional career in Information Technology in basically any type of establishment in both the private and public sectors.
Graduates will typically be employed as system analysts, programmers, software or system developers, software support staff, business system analysts among others.
The entire program is divided into three (3) trimesters. A set of courses and workshops are taken by the students in each trimester.
- IT Foundation & Emerging Technologies (Workshop):
- This workshop is designed to enable students to explore a range of issues relating to the use of computers and other IT systems and resources (including the internet) to support activities and operations within the various sectors of the economy and society at large. These include the Business, Commerce, Government, Education, and Health sectors among others. The workshop concludes with an examination of new and promising information technologies to research and look out for.
- Introduction to Programming:
- The course is designed to introduce the principles and concepts of programming and teach problem-solving methods and algorithm development; high-level, structured programming using the C++ programming language. Students learn the process of design, coding, debugging, and documentation with a focus on the techniques of good programming style and sound program construction.
- Operating Systems, Computer Architecture & Organization:
- This course provides a thorough understanding of the principles and design of operating systems. It compares and contrasts the approaches taken in several modern operating systems. The course leads to a deep knowledge of the problems and solutions in developing modern concurrent systems. Topics covered include Operating Systems Overview and History, Process Management, Threads, Processor Scheduling, Process Synchronization, Deadlocks, Memory Management, Virtual Memory, I/O Management, File Management, Protection and Security, and Distributed Systems.
- Object-Oriented Programming:
- This course provides an understanding of how to construct programs from algorithm specifications. The aim is for the students to become very familiar with ‘advanced’ standard algorithms and ‘sophisticated’ data structures and data types. The emphasis is on developing skills for writing reliable and readable programs in an OOP environment using the C# programming language. Abstract Data Types, Object-Oriented Design, Generics, Exception Handling, and Program Assertions are used to help develop these skills.
- Data Structures & Algorithms:
- This course covers the analysis and design of fundamental data structures and engages learners to use data structures as tools to algorithmically design efficient computer programs that will cope with the complexity of actual applications. The course focuses on basic and essential topics in data structures, including array-based lists, linked lists, skip lists, hash tables, recursion, binary trees, scapegoat trees, red–black trees, heaps, sorting algorithms, and searching algorithms.
- Computer Ethics (Workshop):
- Computer technology has significantly reshaped our lifestyles affecting the way we work, relax, treat our sick, shop, educate our young, catch criminals and even commit crimes. The effects of computing are not limited to the technological and scientific realms but extend also into the social and ethical. In this workshop, participants examine the social and ethical implications of computer technology. Its goal is to identify and formulate answers to questions that deal with the moral basis of individual responsibilities and actions, as well as with the moral underpinnings of public policy. It pays special attention to the risks of computing, individual privacy, moral and professional responsibility, ownership of intellectual property, and the prospects of a networked world.
- Data Communications & Computer Networks:
- This course concentrates on the fundamentals of computer communications and networks and telecommunications; digital voice and video signals and transmissions; protocols for error and flow control; capacity utilization; multiplexing and concentration; Local Area Networks (LANs) and Wide Area Networks (WAN). The course covers media types and standards and how data is encoded and transmitted. Students are introduced to the terminology and basic concepts of each network operating system. The Open System Interconnection (ISO) model is also introduced. Students also learn how switches and routers interconnect using multiple vendors' equipment; IP addressing and how TCP/IP works and is configured on various devices; basic security and firewall issues; how Ethernet works; the basics of layered network protocols; and the difference between logical and physical network topologies.
- Human-Computer Interaction (Workshop):
- This workshop aims to provide a theoretical and scientific framework within which the student will be able to understand the impact of computers on humans. The student will develop skills and knowledge that will enable efficient and effective human-computer systems to be specified. They will develop an understanding of human factors and ergonomics that will enable high levels of system usability to be achieved. The workshop will introduce students to the available user interface technologies and techniques for evaluating the relative merits of different types of interfaces.
- Web Technology Fundamentals:
- Database Systems: Design & Implementation:
- This course is aimed at introducing students to the theoretical and practical issues in the management, retrieval, and organization of large quantities of data. The course provides a general understanding of issues relating to the modeling of data within an organization or enterprise; the analyses of data relationships for exploitation within database management systems; the programming of database management systems for database creation, information retrieval, and database management; the analysis of various database concurrency protocols and algorithms to assess their performance and relative appropriateness in a differing operating environment and developing concurrency control algorithms and appropriate data structures for data management.
- Software Engineering (Concepts, Principles & Methodologies):
- This course provides a general introduction to software engineering. It introduces concepts such as software processes and agile methods, and essential software development activities, from initial requirements specification through system maintenance. Topics include problem definition, systems analysis, requirements gathering, designing systems, development of systems, testing, and implementation.
- Advanced Programing with Desktop Application Development:
- This course is designed to introduce students to Visual and Object-Oriented Programing Concepts, Inheritance, Polymorphism, and Encapsulation. Students are taught how to write stand-alone windows applications with Dialog Boxes, Option buttons, checkboxes, menus, windows style, help facilities, and installation programs.
- Program Project Part-1:
- This course forms Part I of the Program project. Students are required to undertake a practical software engineering project under the supervision of one or more instructors. In this course, students will select a problem domain of interest and develop a proposal to solve a problem. The proposal will be presented at a technical seminar for grading.
- Technical & Business Writing for Professionals (Workshop):
- This workshop is an intensive study of and practice in writing for the professional settings. It focuses on the types of documents necessary to make decisions and take action on the job, such as proposals, reports, instructions, policies and procedures, e-mail messages, letters, and descriptions of products and services. Students practice in the individual and collaborative processes involved in the creation of ethical and efficient documents.
- Enterprise Computing & ERP Systems:
- This course discusses how enterprise information systems support organizations in value chains and supply chains. The course introduces a number of modern enterprise modeling techniques based on linguistic instruments and economic ontologies. It shows how these techniques support requirement elicitation for enterprise information systems design.
- Introduction to Project Management (Workshop):
- This workshop is aimed at helping students to understand the tools and techniques of project management such as project selection methods, work breakdown structures, network diagrams, critical path analysis, and critical chain scheduling, time and cost estimates, earned value management, and motivation theory and team building.
- Web Engineering & Application Systems:
- This course builds upon Web Technology Fundamentals allowing students to create more advanced web applications and services. The emphasis of this course will be on server-side technologies and n-tier applications using relational database technologies. Different server-side technologies will be used for creating dynamic n-tier web applications. Client-side technologies will be enhanced and combined with server-side technologies to create rich modern web applications.
- Mobile Application Development:
- This project-oriented course examines the principles of mobile application design and development. Participants will learn cross-platform mobile application development for the Android and IOS platforms. Topics include memory management, user interface design, user interface building, input methods, data handling, network techniques and URL loading, and finally, specifics on GPS and motion sensing. Participants are expected to work on projects that produce a professional-quality mobile application. Projects are based on real-world applications. Course work includes project conception, design, implementation, and pilot testing of mobile applications using the real-life domain.
- Entrepreneurship Development (Workshop):
- This workshop is designed to build students’ interest in starting their own business, either as their primary income or extra income, including individual contributor businesses such as freelancers, contractors, consultants, and others. It is centered on three key aspects of entrepreneurship: the individual: their traits, skills, and attributes that make entrepreneurs successful; the business ideas: how to generate them, where to look for them, how to expand them; and how to ensure they are valid business ideas with potential to meet profit goals.
- Program Project Part II:
- This course forms the second and final part of the Program project. Students will develop the approved system from the first part of the project. At the end of the period, the completed application will be presented at a technical seminar for grading.