HBSC Computer Science Latest
HBSC Computer Science Latest
(HBScCOMP)
Preamble
These regulations should be read in conjunction with the General Academic Regulations for undergraduate Degrees of Bindura
University of Science Education. Herein after referred to as the General regulations.
These regulations shall only apply to students who study for the Bachelor of Science Honours Degree in Computer Science at the
Bindura University of Science Education.
Programme Structure
The Bachelor of Science Honours Degree in Computer Science Programme will extend over a period of four years of full-time
study, each year of study comprising two semesters.
Theoretical Courses shall be taught during the first two years and the final year of study while the third academic year shall be
reserved for Industrial Attachment.
Entry Requirements
For all entry pathways candidates must have at least five Ordinary Level subjects/ National Foundation Certificates
including English Language, Mathematics and a Science subject at grade C or better.
1
3.1 Normal Entry: A minimum of 2 A’ Level passes in Mathematics and
Physics OR Computer Science OR any other relevant
Science subject OR Relevant National Certificate.
3.2 Special Entry: Special entry may be granted to applicants with a National
Diploma in Computer Science or any related field from a
recognized institution.
3.3 Mature Entry: Should be at least 23 years old AND
Should have at least 2 years relevant industrial experience.
Learning Outcomes
2
Analyze the local and global impact of computing on individuals, organizations,
and society
Registration
Registration shall be held at specified time as determined by the Bindura University of Science Education in accordance with the
General Regulations.
No students may register for a Course unless he/she has passed all the pre-requisites for that Course before the beginning of the
semester in which the Course is being offered.
The Departmental Board of Computer Science shall sanction the combination of Courses that a student may choose to do.
Assessment of Candidates
All Courses shall be assessed through coursework assessment, practical where necessary, and a formal written examination.
The formal theory examination for a Course shall be two and half hours duration, while that of a Double Course shall normally be
a three-hour formal examination.
3
Coursework Written Assignments, In-Class Tests,
Presentations, Seminars 15%
Practical – (Laboratory work, Workshops)
25%
Non-Practical Course:
Written Assignments, In-Class Tests,
Presentations, Seminars 25%
Examinations Practical Course 60%
Non-Practical Course 75%
The assessment of a research Project Course shall be based on a dissertation submitted at a date determined by the relevant
Departmental Board. Students shall be notified of this date at the beginning of the Course. Students may be required to present a
seminar, based on their projects, or to attend an oral examination on their respective projects.
4
Determination of Results
For a Practical Course or Project Course and for each student, the Departmental Panel of Examiners shall determine a final mark,
whether that student has passed or failed that Course. The final mark shall be based on the observation of the student’s performance
in the laboratory, presentations and on the assessment of written reports of the dissertations.
For any other Course, the Departmental Panel of Examiners shall determine for each student a coursework mark, a formal
examination mark, a final mark; and whether the student has passed or failed the Course.
A Student who obtains less than 40% in the Course work shall not be eligible to sit for the final examination.
The Departmental Panel shall submit, for each Course under its control and for each student, enrolled in that Course, the course
work mark, exam mark and the panel mark as the result to the Faculty Board of Examiners.
Repeating a Course
A student may only repeat a Course that he/she has failed whenever it is next on
offer.
Proceeding
For administrative purposes, each student shall be classified as Part I, Part II, Part III, or Part IV student.
A student may not proceed to final year until he/she has passed all first-year core courses.
5
Awarding of a Degree and Classification of that Degree
To be eligible for the award of a Bachelor of Science Honours Degree in Computer Science a student must have:
AND
The Degree shall be classified using the results of all Parts of the Programme, and the weightings of the components will be as
follows:
Part I 10%,
Part II 30%
Part III 20%
Part IV 40%
In each Part, marks for the ten Courses in which the student has obtained the highest score, including marks for all the Core
Courses, will be used to classify the student’s Degree result.
6
Publication of Results
Results shall be published in accordance with the provisions of the General Regulations.
COURSES
Honours Computer Science Part I
Part I Semester I
CODE Description Core Pre-req Weighting
Co-req
CS101 Introduction to Computer Science Y 10
CS102 Introduction to Computer Programming 10
CS104 Ethics and Professionalism Y 10
PH107 Physics for Computer Science Y 10
CSH105 Discrete Mathematics Y 10
HS102 Health Education 10
MT101 Calculus I
10
7
Part I Semester II
CODE Description Core Pre-req Weighting
Co-req
CS111 Operating System Concepts Y 10
CS112 Object Oriented Programming I Y CS102 10
CS113 Computer Architecture Y 10
CSH114 Data Structures and Algorithms Y 10
CSH115 Database Concepts Y 10
CSH116 Software Engineering Y 10
PC103 Communication Skills Y 10
PC108 Citizenship Education and Conflict
Transformation
Y 10
11.2 Part II
11.2.1 Part II Semester I
CODE Description Core Pre-req Weighting
Co-req
CS203 Object Oriented Programming II Y CS112 10
CS206 Research Methodology Y 10
CSH201 Data Communications and Networking Y 10
CSH202 Systems Analysis and Design Y 10
CSH204 Applied Statistics Y 10
CSH205 Mobile Application Development 10
PH206 Electronics 1 10
8
11.2.2 Part II Semester II
CODE Description Core Pre-req Weighting
Co-req
CS211 Theory of Programming Languages 10
CS214 Internet and Web Designing Y 10
BS441 Entrepreneurship Theory and Practice 10
CS218 Group Project Y 10
CSH217 Software Project Management Y CSH116 10
CSH219 Design and Analysis of Algorithms Y CSH114 10
11.4 Part IV
11.4.1 Part IV Semester I
CODE Description Core Pre-req Weighting
Co-req
CS400 Artificial Intelligence and Intelligent Y 10
Systems
CS403 Simulation and Modeling Y 10
9
CS408 Human Computer Interaction Y 10
CSH401 Parallel and Distributed Systems Y 10
CSH402 Theory of computations Y 10
10
MODULE SYNOPSES
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.
11
Calculus
This course in calculus is intended to develop practical skills in differential and integral calculus. As well, it is intended to illustrate
various applications of calculus to technical problems. The rules of differentiation will be introduced, and methods of
differentiating various algebraic and transcendental functions will be developed. Applications of differential calculus to finding
roots of equations by Newton's method, to finding maxima and minima, and to developing power series representation for functions
will be studied. Methods of algebraic integration will be introduced, with both definite and indefinite integrals being determined
for a variety of functions. The use of tables of integrals for finding solutions for difficult integrals will be introduced. Numerical
integration using Simpson's rule will also be developed. Various applications of integration will be studied including Fourier series.
First and second order differential equations will be introduced and methods of solving will be developed. These methods will
include laplace transforms.
Health Education
This course aims at assisting students to have an in-depth knowledge of HIV and AIDS, adopt life skills that prevent them from
getting infected with HIV. Students will also be able to provide basic counseling to the affected and the infected, advocate against
12
stigmatization and discrimination of people living with HIV and AIDS in the society. Lastly, the course helps identify and discuss
effects of HIV and AIDS on society.
Communication Skills
This practical class helps students understand the essentials of the communication process, identify potential communication
problems, construct productive approaches to communication, and develop strategies to develop effective communication skills.
Students can benefit from this class in their personal and family lives, in their learning, and in their career development. This
course aims to introduce students to the basics of interpersonal and business communication, equipping them to communicate
more effectively and with greater awareness and skill in both personal and business environments. It is designed to help students
heighten their awareness of the function and value of communication. The subject aims to equip students with the ability to use
the communication skills required in meetings, group discussions, interviews, and presentations. Students should be able to Identify
key elements and principles of communication, Demonstrate understanding of the communication process, Describe their own
communication strengths and growth areas, Demonstrate ability to prepare and present a short oral presentation, Describe and
practice key listening skills and Prepare a clear and informative piece of written communication.
13
Zimbabwe, though relatively a peaceful country since attaining independence in 1980, has had its own problems: violence during
elections, the dissident problem, the RENAMO instigated problems in the eastern border areas, political problems after the 2000
general elections and the land reform program. Student unrest has been a common phenomenon in Zimbabwean higher institutions
of learning. In order to equip people with skills to solve conflicts, the Zimbabwean government approached the offices of the
UNDP and it was decided that young people in tertiary institutions should be exposed to educational programs, which will equip
them with knowledge and skills of solving conflict before it gets out of control. Hence the launching of Conflict Transformation
programs in almost all Universities in Zimbabwe.
Computer Architecture
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.
14
This module builds on the programming skills acquired in Principles of Programming Languages. It couples work on Program
Design, Analysis, and Verification with an introduction to the study of Data Structures. Students are introduced to: Lists, Stacks,
Queues, Trees, Hash Tables, and Graphs. Students are expected to write several programs, ranging from very short programs to
more elaborate systems. Emphasis is placed on the development of clear, modular programs that are easy to read, debug, verify,
analyze, and modify.
Database Concepts
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.
Software Engineering
The module gives the students practical experience in applying Software Life Cycle Models, standards and technologies. Topics
covered include: Software Process and Problems, Requirements, Specifications and Software Design approaches, Modular
Designs, CASE tools, Case Studies. Object Oriented Analysis and Design using the Unified Modeling Language (UML) to capture
Requirements, Model User Interactions and Business Process, Verification and Validation, Implementation and Integration Issues,
Reuse Concepts and Maintenance.
15
Object Oriented Programming I
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
Applied Statistics
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.
16
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 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.
Research Methodology
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.
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.
17
Mobile Application Development This module includes concepts used in developing mobile applications. The following concepts
should be covered: Mobile application development environment, mobile software engineering, VUIs, Intents and Services,
Storing and Retrieving data, communications via the net and web, Telephony, Notifications and Alarms, Graphics, Multimedia,
Location, Security, Platform issues.
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.
19
Theory of programming languages
The purpose of this course is to provide a broad vision of Programming Languages and their comparison. The student will develop
knowledge on different aspects of the area which will allow him/her to perform critical evaluation of languages and their constructs.
We will also study the impact of different computer architectures and other consideration on the design of a programming language
and ultimately the way we think and write programs. The course will cover major programming paradigms including Logic
Programming, Functional Programming, and Object-Oriented Programming. We will also study syntax, semantics, data structures
and constructs of several programming languages. In addition, it will cover advanced topics such as how languages handle
exceptions and how they deal with concurrency. Finally we will look at some of the new programming paradigms and language
efforts underway to support these paradigms.
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.
20
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.
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.
Computer 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.
21
Artificial Intelligence and Intelligent systems
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.
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.
22
translators. The construction of a compiler/interpreter for a small language is a necessary component of this module, so students
can obtain the necessary skills.
23