Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
6 views23 pages

HBSC Computer Science Latest

Uploaded by

mazulaashley
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views23 pages

HBSC Computer Science Latest

Uploaded by

mazulaashley
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 23

REGULATIONS FOR THE BACHELOR OF SCIENCE HONOURS DEGREE IN COMPUTER SCIENCE

(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

By the end 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

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.

The weightings of the Coursework and Examination shall be as follows:

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.

Assessment of industrial attachment shall be as follows:

Mentor’s assessments - 50%


Student written report assessments - 30%
University Supervisor`s assessment - 20%

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:

Passed all Core Courses in the Programme,

Accumulated a minimum of 480 Credits

AND

Passed their individual projects in the Programme

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.3 Part III


CODE Description Core Pre-req Weighting
Co-req
CS300 Industrial Attachment Y 120

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

11.4.2 Part IV Semester II


CODE Description Core Pre-req Weighting
Co-req
CS411 Computer Graphics Y 10
CS412 Computer Security Y 10
CS414 Research Project Y CS206 20
CS417 Compiling Systems Design 10
CS413 Advanced Database Designs and Y 10
Management
OVERALL TOTAL 510

10
MODULE SYNOPSES

Introduction to Computer Science


Introduction to computer science is a course designed to familiarize students with the operation of computers and various
application programs and equip them to use computers in their respective areas of study. Previous knowledge of computer is not
a requirement.

Introduction to Computer Programming


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.

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.

Physics for Computer Science


The main objective is to introduce the basic principles of electricity, magnetism and some electronics in a way that is logical,
understandable and that facilitates learning. Physics comes into play in certain scientific problem domains (astronomy, space,
aeronautics, marine architecture, weather simulation), in computer game development (eg, physics engines), and very much so in
hardware design. Other areas where physics is extremely important is in speech recognition and speech synthesis systems.
Indirectly, physics probably inculcates patterns of abstract thought that help indirectly, Real-time programming where actually
you need knowledge about electronics which is very related to physics. Physics engine is needed for graphical software. This is
basically to know how stuff react when thrown, bumped into something else. May be knowledge about lenses and how light passes
through since light is very related to 3D rendering software.

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.

Citizenship Education and Conflict Transformation


Studies in Conflict Transformation provide the foundation for durable peace. The end of the Cold War in 1989 was regarded as an
end to a possible nuclear holocaust and the beginning of a new era of peace and socio-economic development. To the surprise of
many, the world plunged itself into turmoil, for example military coups in South America, the breaking up of Eastern Europe, the
Middle East problem worsened as nations battled to control oil, the African Conflicts in Liberia, Sierra Leone, the Great Lakes
region, Somalia, Southern and Northern Sudan. The climax of all this turmoil was the bombing of the Twin Towers in New York
on September 11, 2001. All these conflicts have impacted negatively on peace and development. The former UN Secretary General
Kofi Anan in 2002 summed it up when he observed that development without peace is not sustainable and peace without
development is not durable.

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.

Operating Systems Concepts


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.

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.

Data Structures and Algorithms

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.

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.

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

Internet and Wed Designing


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.

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.

Object Oriented Programming II


Object Oriented programming II aims to introduce students to the concept of OOP. Also to introduce students to the C++ and or
Java languages and to train students to develop applications in C++, Java etc

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.

Data Communications and Networking


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.

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.

Mobile Application Development

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.

System Analysis and Design


This module will cover the principles of Information Systems including analysis and design. Students will learn techniques in data
requirements collection and analysis along with methods 18 to modeling data needs. Modeling of data will occur at the conceptual,
logical, and physical levels along with an ability to compare the different approaches. Students will understand the importance and
constraints imposed by the domain of the information system along with business rules that guide the design. Functional
dependencies and domain normalization will also be discussed as part of the requirements analysis. Object-Oriented information
system modeling and User-Centered design techniques will be explored.

Citizenship Education and Conflict Transformation


Studies in Conflict Transformation provide the foundation for durable peace. The end of the Cold War in 1989 was regarded as an
end to a possible nuclear holocaust and the beginning of a new era of peace and socio-economic development. To the surprise of
many, the world plunged itself into turmoil, for example military coups in South America, the breaking up of Eastern Europe, the
Middle East problem worsened as nations battled to control oil, the African Conflicts in Liberia, Sierra Leone, the Great Lakes
region, Somalia, Southern and Northern Sudan. The climax of all this turmoil was the bombing of the Twin Towers in New York
on September 11, 2001. All these conflicts have impacted negatively on peace and development. The former UN Secretary General
Kofi Anan in 2002 summed it up when he observed that development without peace is not sustainable and peace without
development is not durable.
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
18
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.

Entrepreneurship Theory and Practice


This course is designed to help students evaluate the business skills and commitment necessary to successfully operate an
entrepreneurial venture and review the challenges and rewards of entrepreneurship. Students will learn about themselves, their
decisions, and their goals to determine how entrepreneurship can play a role in their lives. Students will also be introduced to
entrepreneurship from an economic perspective and the concepts of environmentally sustainable practices and social
entrepreneurship.

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.

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.

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 usercentred 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

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.

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 HighPerformance Computing.

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.

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.

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.

Advanced Database Design and Management


Students who achieve a good grade in the course should be able to: function effectively in a professional database management
environment, learn, use and evaluate a range of database tools and techniques, understand and use a range of post-relational
database technologies, understand the roles of indexing and concurrency control in transaction processing performance, use data
dependencies to design and re-factor database schemas and to recognize and correct design flows in Database schemas

Compiling System Design


This module introduces topics include compiler design, lexical analysis, parsing, symbol tables, declaration and storage
management, code generation, and optimization techniques. The aim of this module is to show how to apply the theory of language
translation introduced in the prerequisite courses to build compilers and interpreters. It covers the building of translators both from
scratch and using compiler generators. In the process, the module also identifies and explores the main issues of the design of

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

You might also like