Bachelor Of Science Honours In Computer Science

Bachelor Of Science Honours In Computer Science 

NUST code:

 SCS

DURATION:

 4 Years

TYPE OF DEGREE:

HONOURS

CREDIT LOAD:

 480 Credits 

LEVEL 
 

SADC-QF - Level 8

ACCREDITATION ORGANISATION(S):

Zimbabwe Council for Higher Education (ZIMCHE)

LEARNING MODES

 

To produce graduates capable of providing computing solutions to solve problems.


Employability
Programmer, Network Engineer, Security Expert, Software Developer, Database Administrator, Computer Hardware Engineer, Computer Systems Analyst, Computer Network Architect, Web Developer, Information Security Analysts, Computer Programmer.

Further Studies
Masters in Computer Science, Masters in Information Systems
Normal Entry
An applicant must have passed at least Mathematics and either Physics or Computing at “A” level. 3.2

Special Entry
An applicant who has successfully completed a National Diploma in Information Technology or its recognized equivalent may apply for entry into Part I.
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.
A student is expected to obtain a minimum total of 480 credits to be awarded the Degree. 

PROGRAMME CHARACTERISTICS 
Areas of Study                         
Software Engineering, Network Administration, Cyber Security, Digital Forensics, 
Specialist Focus                         
Information Communication Technology 
Orientation                               
Research and innovation oriented. Teaching and learning are professionally oriented and focused on practical aspects 

Teaching and Learning
Lectures, tutorials, laboratory classes, seminars, group work, farm-based activities, industrial visits, industrial attachment, research project, individual independent study 

Assessment Methods
Written and oral examinations, tests, laboratory reports, seminar presentations, industrial attachment report, mini-research project report, final year research project report, continuous assessments

ASSESSMENT 
Continuous assessment shall constitute 25% and written final examination, 75% of the overall mark. The pass mark is 50% and above. 
A student who has failed to satisfactorily complete a part of his/her programme may be allowed to proceed to the next part carrying the failed modules provided they are no more than 25% of the number of normally scheduled modules in a particular year.
Part I
Semester I
SCS1101 Introduction to Computer Science & Programming
SCS1102 Mathematical Foundations for Computer Science
SCS1103 Operating Systems Concepts
SCS1105 Computational Research Methods
SMA1101 Calculus I SMA1102 Linear Algebra

Semester II
SCS1207 Structured Program Design
SCS1202 Database Concepts
SCS1204 Logic Design & Switching Circuits
SCS1205 Software Engineering Concepts
SCS1206 Visual Programming Concepts & Development
CTL1101 Conflict Transformation & Leadership

Part II
Semester I
SCS2101 Computer Data Communications
SCS2102 Computer Architecture
SCS2103 Data Structures & Algorithms
SCS2104 Systems Analysis & Design
SCS2108 Object Oriented Software Concepts & Development
SORS2107 Operations Research

Semester II
SCS2201 Software Design Methodologies
SCS2203 Advanced Mathematical Structures for Computing
SCS2204 Internet & Web Design
SCS2206 Societal Computing
SCS2207 Computer Networks & Applications
SCS2209 Computational Modelling

Part III
SCS3000 Industrial Attachment 120

Part IV
Semester I
SCS4000 Final Year Project
SCS4101 Artificial Intelligence
SCS4103 Software Project Management
SCS4108 Simulation & Modelling
SCS4110 Information Systems Security & Auditing
SCS4111 Enterprise Architecture Programming

Semester II
SCS4000 Research Project
SCS4203 Computer Graphics
SCS4207 Expert Systems and Decision Support Systems
SCI 4201 Digital Forensics
SCS4201 Database Design & Management
SCS4208 Distributed Computing
 
YEAR I
SCS 1101 Introduction To Computer Science And Programming 10 Credits
The module explores 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 of Operating System, Fundamentals of Databases and fundamentals of networks.

SMA1102 Linear Algebra 10 Credits
This module is on 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, Gauss’s method, Cramer’s rule, homogeneous systems. Vector Spaces: definition, linear independence, bases, subspaces.

SMA1101 Calculus 10 Credits
The module looks at Limits of functions; One-sided and infinite limits; Continuity; Differentiation: definition, basic properties, Rolle’s theorem, mean value theorem, Cauchy’s mean value theorem, Leibniz’s rule, applications, 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; DeMoivre’s theorem and the exponential form. SCS 1102 Mathematical Foundation For Computer Science 10 Credits This module explores 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.

SCS 1103 Operating Systems Concepts 10 Credits
The module is an overview of operating systems structures, Operating system organisation and Services, Computer design, the hardware and its interfaces, Device management; I/O management; Creating virtual device abstractions; Support for processes and threads; Job Scheduling, Disk scheduling, file systems; Process management, synchronisation and communication; Memory management: deadlock, virtual memory management and processing Synchronisation; File management; Filing systems, interface and implementation; Case studies drawn from Linux and mobile operating systems, android.

SCS1105 Computational Research Methods 10 Credits
The module explores empirically-based design research, Typical approaches to empiricallybased design research are: direct observation of the results of designing; surveys of designers' perceptions; and protocol studies of individual and collaborating designers designing; Axiombased design research axiom-based research produces models of design through the identification of a set of axioms and the logical consequences of the axioms; this approach to design science research involves: (i) specifying relevant axioms (ii) deriving logical consequences of the axioms mapping the axioms and their consequences onto a particular domain to derive new results; Critical thinking and analysis; critical reasoning; scientific writing for computer science and the tools for presentation of research in computer science.

SCS 1201 Programming And Program Design 10 Credits
The module looks at the concept and properties of algorithms, Programming process, Fundamental design concepts and principles: Divide-and-conquer strategies; Abstraction; Program decomposition; Encapsulation and information hiding, Separation of behaviour and implementation, Basic syntax and semantics of a higher-level language, relevant program representations: basic blocks; control-flow graphs; defuse chains; static single assignment and Jackson Structured programming.

SCS 1202 Database Concepts 10 Credits
The module examines the database management systems (DBMS), Database Models: Entityrelationship Model; The relational model; The SQL language; Database design: ER to Relational mapping, the systems development lifecycle, the database lifecycle, Conceptual design, logical, physical design; Normalisation; Aspects of physical database access: Database Transactions: Distributed Databases: Client-server database systems; Higher-level and extended data Models: Object-oriented data models are introduced; SQL3 and the requirements of Multimedia database

SCS1203 Business Information Systems 10 Credits
The module explores the Business Environments; Changing lives and businesses in the Information Era, Redesigning the organization with information systems Types of Information system: TPS; MIS; DSS; and Expert Systems; The Systems life cycle, the phases within it and the activities and documentation appropriate to each phase; Other development strategies, including 4GLs, Prototyping, and Evolutionary development; Building and managing information systems; IS project organisation and management Information System Security and Control the Internet and electronic business.

SCS1204 Logic Design And Switching Circuits 10 Credits
The module outlines the Binary logic functions, Set Theory and Venn Diagrams, Logic Gates, Karnaugh Maps, Combinatorial Circuits: - design procedure, adders, Subtractors, Integrated circuits; Sequential Circuits: - flip-flops, Equivalent Gates, Counters and Registers and Computer Aided Circuit Design Practical.

SCS 1205 Software Engineering Concepts 10 Credits
The module looks at the software development process, agile software development, requirements engineering, analysis and design, documentation, implementation strategies, system testing, validation and verification, software evolution, project management and software development life cycle.

SCS1206 Visual Programming Concepts And Development 10 Credits
The module looks at the structure and Nature Of Visual Applications, user interface Contexts (webpage; business applications; mobile applications; games), Canonical uses (GUIs; mobile devices; robots; servers) , Events and event handlers, Separation of model, view, and controller, Visual Design Elements :Object; Controls; Windows; Forms; Dialogues; Templates; Panels; Panes; etc;, user-centred development, interaction design: Physical capabilities; Cognitive models, Social models, Principles of good design and good designers, Accessibility, Principles of graphical user interfaces (GUIs), Elements of visual design, User interface standards, Functionality and usability requirements, Techniques for gathering requirements, Internationalisation, interaction styles and techniques, Representing information to users, Design, implementation and evaluation of non-mouse interaction.

SCS 1207 Structured Program Design 10 Credits
The module looks at basic syntax and semantics of a higher-level language variables and primitive data types (e;g; numbers, characters, Booleans), types, expressions and assignments, simple I/O including file I/O; structured decomposition; program decomposition techniques, top-down functional decomposition; Conditional and iterative control structures: sequence, selection, iteration; Functions and parameter declaration, returning values, pass by value and pass by reference, inline functions; Program design methodology: structured methodology, object-oriented methodology and design notation.

CTL 1101 Conflict Transformation & Leadership 10 Credits
The thrust of the module is understanding peace and conflict; theories of conflict; conflict analysis and tools; economic roots of conflict; gender and conflict; leadership; leadership and conflict handling mechanisms; leadership and conflict handling mechanisms; women in leadership; leadership ethics; interplay: leadership, conflict and development.

YEAR II
SCS 2101 Computer Data Communications 10 Credits
The module explores the type of media, transmission, modulation, network topologies, synchronous and asynchronous transmission data link protocol, network topologies, OSI model, TCP/IP suite, Transport layer, Addressing Network layer, Data link layer; Planning and cabling networks.

SCS 2102 Computer Architecture 10 Credits
The module covers the fundamentals and performance Technology trends, measuring CPU performance, Amdahl’s Law and averaging performance metrics; Assembly level machine organisation Basic organisation of the von Neumann machine, control unit: fetch, decode and execution, components of instruction sets, RISC and CISC and example instruction sets, addressing modes; Interfacing and communication, I/O fundamental: handshaking, buffering, programmed I/O, interrupt –driven, Interrupt structures: vectored and prioritised, interrupt acknowledgement; External storage, physical organisation and drives; Buses: bus protocols, arbitration, direct memory access (DMA); Multimedia support; Analogue and digital devices; Memory system organisation and architecture Storage systems and their technology; Memory hierarchy: importance of temporal and spacial locality; Main memory organisation operations; Latency, cycle time, bandwidth, interleaving; Cache memories (address mapping, block size, replacement and store policy) embedded systems Microcontrollers, The C programming language, device drivers, and the device driver software environment.

SCS 2103 Data Structures And Algorithms 10 Credits
The module highlights 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. It also covers 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 and shortest path algorithm.

SCS 2104 Systems Analysis And Design 10 Credits
The module has an 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 and a Case study of practical systems project using structured approach to systems development.

SCS 2108 Object Oriented Software Concepts And Development 10 Credits
The module examines Object Oriented programming model: Software reusability concepts; Abstraction, Polymorphism; Objects, messages, encapsulation; Classes, inheritance, and class categories; Foundation and Collection Classes; Design and Implementation techniques; Object Oriented Programming and Databases; Java Basics: History, Design Goals, the Web, Java Programming; Java Virtual Machine: Java Compiler, Byte-codes, Interpreter, JIT Compilation, Software Portability, Garbage Collection, Security; Java APIs: Abstract Window Toolkit, Java Foundation Classes, Commerce, JDBC; Java and the Internet: Applets, Communication, RMI, Client & Servers, Data Access and Network Computers.

SCS 2201 Software Design Methodologies 10 Credits
The module looks at Reliable System/Software Design Concepts and Development Methods: design management and development lifecycle phases; Object Oriented method: Object Oriented analysis and design; Prototyping, System maintenance, System dependability and security, Case Study/Project: design of a database retrieval system with OOD front –end and functional data-base design.

SCS 2203 Advanced Mathematical Structures For Computing 10 Credits
The module explores sample spaces and events; axioms and definitions; total and conditional probability; Bayes rule; Independence; Random Variables: - continuous and discrete; distribution and density functions; mean, variance and covariance definitions and properties; Special Distributions: - uniform, Poison, Normal – definitions and properties and examples; Mathematical logic, linear algebra and graph theory; Computer Aided Implementation using Mathematical tools like MATLAB or OCTAVE.

SCS 2204 Internet And Web Design 10 Credits
This module examines the fundamentals of networks and TCP/IP-Internet services Internet legal and privacy issues Internet commercialisation Internet societal impact, Home page programming using latest versions of tools such as HTML, CSS, javascript, and PHP Web Content Management using software systems such as Wordpress, Joomla and Drupal, Java Web services, XML and AJAX.

SCS 2206 Societal Computing 10 Credits
The module looks at ethics and ICT, computing applications that address social needs such as basic health, rural health issues, rural education needs, water and shelter needs; Egovernance and e-government that improves democracy; Computer applications that address environmental concerns such as climate change as well as Policies and applications that can reduce the digital divide.

SCS 2207 Computer Networks And Applications 10 Credits
The module is a networking technology overview, Overview of the network data link protocol and networking layers; Introduction to routing and packet forwarding, Static and Dynamic Routing, Distance Vector Routing and Link State Routing; Router configuration including Wireless Router configuration, LAN design and switch configuration; VTP, STP and Inter VLan Routing Frame relay and Access control Lists.

SCS 2209 Computational Modelling 10 Credits
This is an 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 as well as Algebraic application in modelling.

YEAR III

YEAR IV
SCS 4000 Research Project 20 Credits
The project consists of implementing a major piece of software and involves report writing and verbal presentation; The specification and design of the software; The project may involve a large suite of software consisting of a mixture of rapidly prototyped software and 'near-market' quality software. The project may or may not involve traditional academic research and the re-use of existing software and algorithms is encouraged. The software (combined with the business plan) should convince potential investors that the project is worth further funding.

SCS 4101 Artificial Intelligence 10 Credits
This is an overview of AI problems: Intelligent behaviour; The Turing test; Rational versus non-rational reasoning, Nature of agents, Agent architectures: Reactive; Layered; cognitive, Nature of environments, Uninformed search: breadth-first; depth-first; depth-first with iterative deepening, Heuristics and informed search: hill-climbing; generic best-first; A*, Problem spaces, Logic: Proposition and Predicate, Forward chaining, backward chaining, probabilistic reasoning, Bayes theorem, Machine learning: statistical-based learning; parameter estimation; ILP, State-of-the-art robot systems: sensors and sensor processing.

SCS4103 Software Project Management 10 Credits
The module examines software project life cycle Team participation, Roles and responsibilities in a software team Role identification and assignment Individual and team performances assessment Team processes including responsibilities for tasks, meeting structure, and work schedule Team conflict resolution; Team organization and decisionmaking Risk - The role of risk in the life cycle; Risk categories including security, safety, market, financial, technology, people, quality, structure and process; Risk identification Risk tolerance (e;g;, risk-averse, risk-neutral, risk-seeking) Risk planning, removal, reduction and control principles of risk management Risk analysis and evaluation Project Scheduling and tracking project management tools Cost/benefit analysis, Software measurement and estimation techniques, Software quality assurance and the role of measurements.

SCS 4108 Simulation And Modelling 10 Credits
This module is an introduction to Simulation and Modelling; Basic simulation and modelling methodology: sampling, data collection analysis and visual output; Modelling complexities and decision-making simulation; Basic simulation topics: random numbers, statistical functions, and experimentation; Applied statistical methods for analysis and modelling; Approaches to structuring simulations; Introduction to variance reduction; Focus on discrete simulation, but overview on Monte Carlo, continuous, and agent-based simulation.

SCS 4110 Information System Security And Auditing 10 Credits
This module has the foundational Concepts in Security: CIA, ethics, terminology; Security Policy and Governance; Principles of Secure Design: least privilege and isolation, fail safe defaults, open design, end-to-end security, security by design, security composability; Defensive Programming: input validation and data sanitization, race conditions, security updates; Threats and Attacks: attacker types, malware, side and covert channels; Cryptography: terminology, cipher types, mathematical preliminaries, symmetric and public key cryptography, authenticated key exchange protocols; Network Security: security protocols (wired and wireless), secure architectures; Web Security and e-commerce: web security model, session management, client-server security, application vulnerabilities and defences; Platform security: code integrity and code signing, secure boot, peripheral threats, OS and embedded devices.

SCS 4111 Enterprise Architecture Programming 10 Credits
The module looks at the 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 and JAVA Native Interfaces (JNI).

SCS 4201 Database Design And Management 10 Credits
This module explores detailed examination of techniques used in the implementation of relational, Object-oriented and distributed database systems; Topics are drawn from: Query optimisation, transaction management and concurrency control, database performance tuning and query optimisation, business intelligence and data warehousing, database connectivity and web technologies.

SCS 4203 Computer Graphics 10 Credits
The module explores the fundamentals of Computer Graphics: Applications of Computer Graphics, Digitization of analogue data, Human perception, Images formats, Colour models, Graphics display systems: raster and vector graphics systems, developing of graphical systems; GUI construction using a standard API: double buffering, vector and raster rendering; Basic Rendering (using API): rendering in nature, ray-casting and rasterization, basic radiometry, ray tracing, affine transformations, line generation algorithms, rendering of a polygonal surface (shading), graphics pipeline, visibility and occlusion, texture mapping, Phong reflection model, anti-aliasing; Computer Animation: forward and inverse kinematics, collisions, procedural animation, key-frame animations, camera animation; Visualisation: colour mapping, iso surfaces, and applications of visualization and principles of Computer vision.

SCS 4207 Expert Systems And Decision Support Systems 10 Credits
The module covers the 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; and limitations of expert systems

SCI 4201 Digital Forensics 10 Credits
The module explores computer devices, Data collection, Evidence Collection, Extraction and preservation of evidence, Data Recovery, Evidence preservation, verification & authentication, Data Discovery & Identification, Data Analysis, Computer Forensics Tools, Data Hiding Techniques, Computer forensics and mobile forensics.

SCS 4208 Distributed Systems 10 Credits
The module offers a detailed coverage of distributed systems, with a particular focus on concurrency programming using distributed computing architectures; Use of distributed architectures for big data processing and parallel computing; Distributed memory coherence; distributed file systems; distributed process management, including load sharing and process migration; concurrency control; fault tolerance, recoverability and distributed transactions; naming; industry standards and some case studies.

SCS 4109 Formal Languages And Automata 10 Credits
This module is an introduction to the theory of formal languages; The Chomsky hierarchy of formal grammars and the corresponding automata; Finite state automata and regular expressions; Deterministic and nondeterministic finite state automata (FSA); Context-free grammars as a formal description device for programming language syntax; Context-free grammars and pushdown automata in parsing programming languages; Language translation systems and semantics.

SCS 4105 Comparative Programming Languages 10 Credits
This module gives a brief history of programming languages; Comparing languages: programming paradigms, language features executive styles; (e;g; C, C++, Java and Perl); Language design issues, pointers and arrays, functions and procedures, memory allocation; Miscellaneous topics: machine dependencies, separate compilations and data hiding; Operator overloading; Single multiple inheritance and exceptions.

SCS 4205 Human Computer Interaction 10 Credits
The module examines the definition of HCI, HCI principle and theories, the evolution of HCI, its challenges and goals; Components of HCI, conceptual model of HCI and its design, cognitive frameworks for HCI; Introduction to Cognitive psychology: memory, knowledge, learning, inference, skill acquisition, and procedural vs; declarative knowledge; Cognitive models of HCI: interface metaphors, I/O interactive styles; Information search and information visualization techniques Interactive design methods and techniques, HCI evaluation; and contract management; Project planning and management; Management of expectations, change, system evaluation and selection, vendors and consultants.

Connect with us

National University of Science & Technology
PO Box AC 939, Ascot, Bulawayo
Zimbabwe
Tel: +263 292 282842
Fax: +263 292 286803

Newsletter

Enter your email and we'll send you more information

© Copyright 2019. National University of Science & Technology. All Rights Reserved