Bachelor Of Science Honours Degree in Computer Science

Bachelor Of Science Honours Degree in Computer Science

Offered in Conventional
  • 00:00:00Course Duration
  • UndergraduateSkill level
  • $1.00
    $1.00
    Price
  • 30 November -0001Admission Deadline
The Programme consists of thirty-six taught modules, an Industrial Attachment module in the third year that runs for 28 weeks. At the end of the Industrial Attachment period, a student is expected to present an oral examination on the work that he/she did as well as submit a written report. In Year IV, a student shall undertake a Research Project.
 
 
ENTRY REQUIREMENTS 

 

Duration: 4 Years

Minimum Credit Load: 490

Maximum Credit Load: 540

Maximum MBKS Credit: 408

ZNQF Level: 8

 

ENTRY REQUIREMENTS

Normal Entry: Passes in A Level Mathematics and Physics or Computer Science.

Special Entry: Special entry may be granted to applicants with a National Diploma in

Computer Science or any related field from a recognized institution.

Mature Entry: Should be at least 23 years old AND should have at least 2 years relevant

industrial experience.

 

LEARNING OUTCOMES

 

On successful completion of the programme a graduate will be able to:

Apply knowledge of computing and mathematics appropriate to the program’s student outcomes and to the discipline.

Analyze a problem, and identify and define the computing requirements appropriate to its solution.

Design, implement, and evaluate a computer-based system, process, component, or program to meet desired needs.

Understand professional, ethical, legal, security and social issues and responsibilities.

Communicate effectively with a range of audiences.

Analyze the local and global impact of computing on individuals, organizations, and society.

Empowered to be able to learn new programming and computing environments on their own.

 

 

ASSESSMENT

Coursework:

Practical course

Written Assignments, In-Class Tests, Presentations, Seminars - 15%

Practical – (Laboratory work, Workshops) - 25%

Non-practical course

Written Assignments, In-Class Tests, Presentations, Seminars - 25%

 

Written Examinations:

Practical Course - 60%

Non-Practical Course - 75%

 

MODULE SYNOPSES

LEVEL I

     SEMESTER I

SPH1105 Electricity and Magnetism

The module highlights the Static Electric fields: Coulomb's Law; The electric field; Motion of point charges in electric fields; Lines of force; Electric dipoles in electric fields; Electric flux; Gauss's Law; Applications of Gauss law; Electric Scalar Potential of a system of point charges; Capacitors in circuits; Energy stored in a capacitor; Dielectrics; Applications of Static electricity in Industries; Electric Current and Resistance: Electric conductors; Current and current density; Kirchhoff's Rules; DC Network Theorems; RC circuits; Wheatstone's bridge; More complex circuits; Measurement of current, Potential Difference and Resistance; Changing sensitivity of Instruments and Thermoelectricity. It also covers Magnetic fields: The force between currents; Definition of magnetic field and Magnetic flux Density; Magnetic intensity, Magnets in magnetic fields and Magnetic dipole moment; Torque on a current loop in a uniform magnetic field; Motion of charges in magnetic fields; Biot-Savart Law; Ampere's Law; Magnetic field of a solenoid and a bar magnet; Induction and Inductance: Faraday's and Lenz's Law; Self and Mutual Inductance Generation of High voltages using principles of induction; Energy storage in inductors and B fields; Electric motors and generators; The Lorentz force; Electromagnetic Oscillations and Alternating Currents: L-R, L-C, and L-CR circuits; Basic Alternating current circuits; Phasor notation; Power in AC circuit; A-C network Theorems; AC bridges; Frequency filtering and tuning circuits; Transformers, capacitor and inductor circuits with generator together with Eddy currents.

SMA1101 Calculus*

Differentiation. Definition, basic properties. Rolle’s Theorem, mean value theorem, Cauchy’s mean value theorem. Leibniz’ rule.  Application. Taylor series. Integration, Definite integrals. Antiderivatives. Fundamental theorem of calculus.  Improper integrals. Gamma and Beta functions. Definition of natural logarithm as integral of 1/x and exponential as inverse. Area, volume of revolution, arc length, surface area.  Parametric equations. Arc length, surface area. Polar coordinates. Graph sketching.  Area in polar coordinates. Complex numbers. Algebra of complex numbers. De Moivre’s theorem. Exponential form.

 

SMA1102 Linear Algebra *

Vector Algebra: Scalar and vector product. Collinear, coplanar vectors. Applications. Equations of lines and planes. Matrices Products, sums, echelon form, rank, inverse. Determinants. Definition, properties, evaluation. Systems of Linear Equations. Consistency, Gauss’ method, Cramer’s rule. Homogeneous systems. Vector Spaces. Definition, linear independence, bases. Subspaces.

SCS1101 Introduction to Computer Science and Programming*

Information and Knowledge Societies, Evolution of Computers, Computer Organisation and Architecture: CPU; Memory; I/O, Number Systems and Conversions ( Bin; Dec; Hex; Oct), Concepts of Computer Languages: high\low level languages; compiler; interpreter, Programming Techniques: grammar; recursion; Variables; Data types; Initialization; Comments; Keywords; Constants; Assignment, Programming constructs: branching; looping; recursion; Programming using data structures: arrays; lists; trees; hash tables; queues; stacks; files, Programming Algorithms for Problem Solving: Sorting; compression; numerical and encryption, Fundamentals Operating System, Fundamentals Data Bases, Fundamentals of Networks

 

SCS1103 Operating Systems

This module explores the design and implementation of computer operating systems. Topics include historical aspects of operating systems development, systems programming, process scheduling, synchronization of concurrent processes, deadlocks, virtual machines, memory management, virtual memory and paging, I/O and file systems, system security, os/architecture interaction, and distributed operating systems.

 

SCS1111 Principles of Programming Languages

This module examines the concepts and structures governing the design and implementation of programming languages. It presents an introduction to the concepts behind compilers and runtime representations of programming languages; features of programming languages supporting abstraction and polymorphism; and the procedural, functional, object-oriented, and concurrent programming paradigms. Programs are required in languages illustrating each

of these paradigms.

 

SCS1112 Fundamentals of Digital Electronics

Introduction to digital design, number systems and codes, digital circuits, combinational logic design principles and practices, combinational circuit design examples, sequential logic design principles and practices, sequential circuit design examples. Memory (ROM, RAM, static and dynamic RAMs), CPLDs and FPGAs, computer aided design tools.

     SEMESTER II

 

SCS1211 Computer Architecture and Organization       

This module studies the basic instruction set architecture and organization of a modern computer. Topics include Assembly language, The Von Neumann Machine Instructions, Registers, translating high level arithmetic into Assembly, Memory and Registers Addressing Modes, Logic Gates, Truth Tables, implementing Truth Tables, Latches and Memory Reading, Multicycle implementations, the concept of a Cycle. Finite State Machines, Balancing the work into Single Cycles, ROMs, PLAs, Microcode, RISC/CISC, Pipelines, Principle of Locality, Direct Mapped Caches, I/O Polling and Interrupts.

SCS1212 Data Structures and Algorithms.

Problem solving, algorithms, Data structures - pointers, linked lists, queues, stacks, trees, priority queues, sets, maps, graphs and operations on them; Applications of data structures and algorithms Algorithms- Mathematical Principles of algorithm analysis to evaluate algorithm space/time trade-offs. Algorithm Design -divide and conquer (recursion), backtracking, dynamic programming, randomized algorithms sorting, searching, hashing, shortest path algorithm.

SCS1213 Database Systems

The module focuses on concepts and principles related to database management systems and link these to Relational Database Systems. Topics covered include: Database Systems Evolution, Database Systems in the Organization, Principles of Conceptual Design, Database Models, The Relational Data Model, Data Modeling, Database Design Theory, Data Definition and Manipulation Languages, Storage and Indexing Techniques, Query Processing and Optimization, Concurrency Control and Recovery and Database Programming Interfaces.

SCS1214 Software Engineering

Software development process, agile software development, requirements engineering, analysis and design, documentation, implementation strategies, system testing, validation and verification, software evolution, project management, software development life cycle.  

 

SCS1210   Discrete Mathematics

This module introduces and discusses the fundamentals of the discrete mathematics as applied to computer science, focusing on providing a basic theoretical foundation for further work. Students are exposed to logic and proof techniques, set theory, elementary number theory, functions and relations, graph, trees, modelling computations and abstract algebra. This module integrates symbolic tools, graphical concepts, and numerical calculations. Techniques

of counting: permutations, combinations, recurrences, algorithms are also covered.

 

SCS1215 Ethics and Professionalism

This module covers ethical and social issues related to the development and use of computer technology. Topics include ethical theory, and social, political, and intellectual property (IP) and other legal considerations. Scenarios in problem areas: privacy, reliability and risks of complex systems, and responsibility of professionals for applications and consequences of their work.

 

LEVEL II

SEMESTER I

SORS2107 Applied Statistics for Computing

This module covers: Introduction to statistics: definition, uses of statistics, Probability, Probability distributions, Measures of central tendency and dispersion, Sampling techniques, Data types, Presentation and Summarization techniques, Regression and Correlation, Simple Statistical Inference.

SCS2104 Structured System Analysis and Design

Overview of systems development lifecycle, structured analysis and design, business systems and computer resources. Analysis phase and techniques used, SSADM, Outline of Version IV, DFDs, data dictionaries, DFDs. Database definitions. Object Oriented analysis and design Project planning and control, communication. Documentation and document standards. Prototyping, Case study of practical systems project using structured approach to systems development.

 

SCS2108 Object Oriented Software Concepts and Development

The module aims at providing a solid foundation in Object Oriented Paradigm. Topics covered include: Objects Overview and Review, creating Class Instances within constructors, Object Analysis, creating Fields and Properties, Inheritance and specialized Classes, Base Class and Abstract Classes, Events and Exceptions, providing services using Interfaces and Abstract Classes, Polymorphism, Shared and Static members, Overloading Operators, Overriding, Multithreading

 

SCS2110 Research Methods

This module equips students with research techniques including definition of research objectives, research framework, design, research problem, experimental research, experiment data acquisition and processing, population and sampling methods, research methods and instruments, data processing and analysis, descriptive statistics, inferential statistics, data presentation and interpretation, research ethics, report writing.

 

SCS2111 Data Communications and Computer Networks

This module explores the principles underlying the design of computer networks. Topics

covered include: Computer network technologies and applications, Transmission Media, Signaling, Communication protocols, Communication architectures, Network connections, Network types, Routing and routing algorithms, spanning tree protocol and IP addressing.

 

SCS2114 Web Development

The module will explain the basics of Web Design, Site Development Processes, Design Principles; Page Layout Navigation. Topics include; HTML, CSS and JavaScript, developing dynamic, database-driven web pages using frameworks and scripting languages. This module introduces the students web database connections.            

 

SEMESTER II

SCS2203 Advanced Mathematical Structures for Computing

Sets, relations, functions. Discrete probability. Combinatorics: Permutations and Combinations. Propositional logic. Logical Connectives. Truth tables. Normal forms. First order predicate logic. Reasoning about programs: axiomatic semantics, pre/post-conditions, loop invariants. Recurrence relations, Application to searching and sorting

 

SCS2209 Computational Modelling*

Introduction to computational modelling. Modelling methodologies. Modelling software tools. Data modelling, fitting curves and distribution to data. Pseudo code extraction. Stochastic and deterministic simulation. Algebraic application in modelling software tools. Data modelling, fitting curves and distribution to data. Pseudo code extraction. Stochastic and deterministic simulation. Algebraic application in modelling.

 

SCS2210 Mobile Application Development*

Creation of mobile solutions for various modern platforms, including major mobile operating systems such as Android and IOS. Principles of mobile application design and development, memory management; user interface design; user interface building; input methods; data handling; network techniques and URL loading; and GPS and motion sensing. Privacy and ethics, usability and accessibility.

 

SCS2211 Software Project Management

Software Project Management is the practice of controlling the cost, time, manpower, hardware and software resources involved in the development activity that commences with a problem statement and ending with the delivery of a complete software product to the customer. It will include planning, monitoring and controlling, Project evaluation, scope management, team building, stakeholder management, risk assessment, scheduling, quality and conflict management.

 

SCS2212 Design and Analysis of Algorithms

This module investigates methods for designing efficient and reliable algorithms. It introduces several algorithm design strategies that build on data structures and programming techniques introduced in Data structures and Algorithms. These include induction, divide-and-conquer, dynamic programming, and greedy algorithms. Topics of study include graph theory, hashing, and advanced data structures.

 

SCS2214 Group Project

The students work in a group to produce a working Product including a Project Proposal, a Project Plan, a System Specification, User Documentation and perform Project Management Activities to ensure the product is delivered on time. The Implementation includes Developing the Product, Testing and Evaluation and Presentation.

 

LEVEL III

INDUSTRIAL ATTACHMENT

Student Industrial Attachment is a “work-based experience programme” providing a real-life organizational context for students to develop specific or generic skills, valuable to their professional development. Students can apply and enhance their skills, contribute to the Organization, and, at the same time, obtain invaluable guidance from their mentors. Industrial Attachments are an excellent way to learn more about a career, find out what it is like to work in one’s potential career, gain valuable experience to build a resume, get to know employers and make a solid network.

LEVEL IV

SEMESTER I

SCS4101 Artificial Intelligence

The module develops in students a working knowledge of intelligent systems as well as the understanding of the application of artificial reasoning in industrial processes. Topics covered include: An introduction to intelligence, historical and current trends and characterization of knowledge-based systems, knowledge representation, reasoning, problem solving, and learning. It then explores those further by surveying current applications in selected areas such as game playing and natural language processing.

 

SCS4108 Simulation and Modeling

The module presents general mathematical modelling and simulation principles by applying them to concrete problems. Topics covered include the Modeling Process, System Dynamics, Computational Error, Simulation techniques, Empirical Models, Cellular Automaton and High- Performance Computing.

 

SCS4111 Enterprise Architecture Programming*

Java Platform, Enterprise Edition (Java EE), Design Evaluation, Programming Paradigms, Cache Coherence, Memory Consistency, Threads and Synchronization, Java Mobility Technology, Interconnection Networks, Scaling Trends, GPUs (Graphics Processing Units), Smart Phones/Tablets Programming (e.g. Android), Programming for Data Centres/Supercomputers, JAVA Native Interfaces (JNI), Web services, Cloud computing architectures.

 

SCS4112 Theory of Computation

The module explores Turing machines, universal computation, the halting problem and general undecidability, Rice’s theorem, the recursion theorem, efficient computation models including finite automata, regular languages, context-free grammars, time and space (memory) bounds, deterministic and nondeterministic computation and their relationships, the P versus NP problem and hard problems for NP and beyond.

 

SCS4113 Information Security

The module covers concepts and applied methods in information security encompassing the confidentiality, integrity, and availability model of information assets. Topics include security threats, cryptography, security analysis (attack taxonomy), access control, threat protection, Security Policies, Laws, Computer Crimes and Cyber Security.

 

SEMESTER II

SCS4203 Computer Graphics

The module covers characteristics of graphics I/O devices, 2D/3D transformations including scaling, translation, and rotation. It also explores Graphics Pipeline, Data Structures for Graphics, Geometrical representation, OpenGL programming, vertex processing, lighting and shading, rasterization including line and polygon drawing, ray casting, ray tracing, spline curves and surfaces, color models, fractals, computer graphics in games and Computer Animation; visualization.

 

SCS4212 Parallel and Distributed Computing

The module covers Parallelism Fundamentals, Parallel Decomposition, Parallel Algorithms, Analysis, and Programming, Parallel Architecture, Parallel Performance, Formal Models and Semantics. The module will also cover key design principles of distributed systems including communication protocols, processes and threads, naming, synchronization, consistency and replication, fault tolerance, and security.

 

SCS4213 Human Computer Interaction

This module introduces the behavioural concepts and technology necessary to manage the design and implementation of “user-friendly” software. It focuses on designing interactions between human activities and the computational systems that support them, and with constructing interfaces to afford those interactions. Students learn how to implement user-centred designs which identify the goals, tasks, and skills of the eventual end-users of the system and ensure that these are successfully considered in the development cycle. Rapid prototyping, experimentation, direct manipulation, cognitive principles, visual design, social software, software tools will be explored. It includes Interface Development Techniques, and Usability Evaluation.

 

SCS4214 Expert Systems *

Organization of expert systems; Knowledge acquisition. Knowledge representation in Expert Systems; Issues in knowledge representation, and languages. Representation schemes: logical procedural, network, structured. Objects, messages, and hybrid expert system design. A survey and application of expert system development tools. Limitations of expert systems.

 

SCS4215 Enterprise Data Management *

Detailed examination of techniques used in the integration and management of data for all applications across an enterprise. Rules of governance and processes involved to make data available for business operations and transactions. Application tools for developing enterprise data management solutions using NoSQL such as mongoDB. Ad-hoc queries, indexing, replication, load balancing, file storage, aggregation, server-side execution, serverless access and management and graphical-user access.

 

SCS4000 Research Project

The Research project involves supervision. This project is intended for the student to demonstrate skills acquired to develop systems for an organization of their choice. Candidates must be able to demonstrate the highest level of innovation. A level of research is expected to ensure some level of originality and critical thinking in the project design and implementation.

 

Need Any help!

Mr Walter Magagula

Mr Walter Magagula

Senior Assistant Registrar