Post-Secondary education

Computer Science

I. Theory Fundamentals

Information representation Number representation, Sound, Images, Video

Communication and Internet technologies Network layers, Network toplogies, Network hardawre.i, IP addressing , Client- and server-side scripting

Hardware: Input, output and storage devices, Main memory, Logic gates and logic circuits

Processor fundamentals: CPU architecture, The fetch-execute cycle, The processor’s instruction set, Assembly language

System software: Operating system, Utility programs, Library programs, Language translators

Security, privacy and data integrity: Hardware security, Data security, Data integrity

Database and data modelling:  Database Management Systems (DBMS),  Relational database modelling, Data Defi nition Language (DDL) and Data Manipulation Language (DML)

II. Fundamental Problem-solving and Programming

Algorithm design and problem-solving:  Algorithms, Structure chart, Corrective maintenance, Adaptive maintenance

Data representation: Data types,  Arrays, Files

Programming:  Programming basics, Transferable skills, Selection, Iteration, Built-in functions, Structured programming.

Software development: Programming, Program testing, Testing strategies

III. Advanced Theory

Data representation:  User-defi ned data types,  File organisation and access,  Real numbers and normalised floating-point representation,

Communication and Internet technologies: Protocols, Circuit switching, packet switching and routers, Local Area Networks (LAN)

Hardware: Logic gates and circuit design, Boolean algebra, Karnaugh Maps, Flip-flops, RISC processors, Parallel processing.

System software: Purposes of an operating system (OS), Virtual machine, Translation software.

Security:  Asymmetric keys and encryption methods, Digital signatures and digital certificates, Encryption protocols, Malware

Monitoring and control systems: Overview of monitoring and control systems, Bit manipulation to monitor and control devices,

IV Further Problem-solving and Programming Skills

Computational thinking and problem-solving: Abstraction, Algorithms, Abstract Data Types (ADT), Recursion

Algorithm design methods:  Decision tables, Jackson Structured Programming (JSP), State-transition diagrams

Further programming: Programming paradigms, Low-level programming, Imperative programming, Object-oriented programming, Declarative programming, File processing, Exception handling, Use of development tools / programming environments,

Software development: Stages of software development, Testing, Project management.

Computer Systems, Programming and Network Concepts

Principles of Hardware, Software and Application

Processing and Programming Techniques

Past Papers


Ermias Home

                      HAREP The Horn of Africa Research and Knowledge Exchange Platform © 2010-2012