BSc. Computer Science Programme

Service Courses


Courses Outline

    100 Level Courses Outline


  • 1. Introduction To Computing (2CU)

    Prerequisite: O/Level Mathematics
    Introduction to computer systems. Components of computer systems and their functons. Windows operating systems and its utilities. Hands-on exposure to Office application software (MS Office or Open Office): Word processing, spreadsheets, presentation graphics and databases. Introduction to and use of Internet tools and technologies.

    Suggested Lab work
    Lecturers should develop laboratory exercises and assignments targeted at providing hands-on practical experience on all topics in the syllabus. The exercises should cover the typical tasks that students do with computers throughout their studies.

    Textbooks
    1. S.B. Junaidu, A.F. Donfack-kana and A. Salisu, Fundamentals of information technology ABU press (2013)
    2. J.J. Parsons and D. Oja, Practical Computer Literacy, Thompson Learning, 2005
    3. Curt Simmons, How to Do Everything with Windows XP, 2nd Edition McGraw-Hill/Osborne, 2003, ISBN 0-07-223080-0
    4. Peter Norton’s, Introduction to Computers, 5th Edition McGraw-Hill/Glencoe, 2003, ISBN 0-07-826421-9

  • 200 Level Courses Outline


  • 1. COSC211: Object-Oriented Programming I (3CU)

    Prerequisite: COSC101 or Equivalence
    Overview of computers and computing; Introduction to object-orientation as a technique for modeling computation. Introduction of a typical object-oriented language, such as Java; Basic data types and operators; Basic object-oriented concepts; Introduction to Strings; Simple I/O; Logical expressions, control structures, algorithms and problem solving; Arrays; Simple recursive algorithms; inheritance; polymorphism.

    Suggested Lab work :
    Programming assignments involving hands-on practice in the design and implementation of simple algorithms such as finding the average, standard deviation, searching and sorting. Practice in developing and tracing simple recursive algorithms. Developing programs involving inheritance and polymorphism.

    Textbooks: 1. Nell Dale and Chip Weems, Programming and Problem Solving with Java, Second Edition, Jones and Barrlett Publishers, 2008. (Lab Manual Available) .
    2. J. Lewis and W. Loftus, Java Software Solutions, 5th Edition, Addison Wesley, 2006. (Lab Manual Available) .
    3. G. Bronson, Program Development Using Java: A Class-Centered Approach, Enhanced Edition, Thompson Learning, 2006. .
    4. D.J. Barnes and M.K. Kolling, Objects First with Java: A practical introduction using Blue J, Pearson Education, 2006

  • 2. COSC203: Discrete Structures (3CU)

    Prerequisite:MATH101 or Equivqlence
    Functions and relations. Basics of counting: inclusion-exclusion principle, pigeon-hole principle, permutations, recurrence relations, generating functions. Graphs and trees: definitions, properties and applications. Discrete probability: computing probabilities, dependent and independent events, applications.

    Textbooks: 1. K. Rosen, Discrete Mathematics and Its Applications, McGraw-Hill Higher Education, 6th Edition, 2007. .
    2. F. Giannasi and R. Low, Maths for Computing and Information Technology, Longman, 1996. .
    3. J. Truss, Discrete Mathematics for Computer Scientists, Addison-Wesley, 1999.

  • 3. COSC205: Digital Logic Design (3CU)

    Prerequisite: COSC101 or Equivalence.
    Introduction to information representation and number systems. Boolean algebra and switching theory. Manipulation and minimization of completely and incompletely specified Boolean functions. Physical properties of gates: fan-in, fan-out, propagation delay, timing diagrams and tri-state drivers. Combinational circuits design using multiplexers, decoders, comparators and adders. Sequential circuit analysis and design, basic flip-flops, clocking and timing diagrams. Registers, counters, RAMs, ROMs, PLAs, PLDs, and FPGA.s.

    Textbooks:
    1. M. M. Mano and C. R. Kime, Logic and Computer Design Fundamentals & XILINX 6.3 Student Edition, Prentice Hall, 3rd Edition, 2004. .
    2. Englander, The Architecture of Computer Hardware and Systems Software, 3rd Edition, Wiley, 2003.

  • 4. COSC212: Object-Oriented Programming II (3CU)

    Prerequisite: COSC102 or Equivalence
    Advanced object-oriented programming - polymorphism, abstract classes and interfaces: Program organization using packages/namespaces; Use of API – use of iterators/enumerators, List, Stack, Queue from API; Recursion; Event-driven programming.

    Suggested Lab work :
    Programming assignments leading to extensive practice in problem solving and program development with emphasis on object-orientation. Solving basic problems using static and dynamic data structures. Solving various searching and sorting algorithms using iterative and recursive approaches. GUI programming.

    Textbooks:
    1. Nell Dale and Chip Weems, Programming and Problem Solving with Java, Second Edition, Jones and Barrlett Publishers, 2008. (Lab Manual Available).
    2. J. Lewis and W. Loftus, Java Software Solutions, 5th Edition, Addison Wesley, 2006. (Lab Manual Available) .
    3. G. Bronson, Program Development Using Java: A Class-Centered Approach, Enhanced Edition, Thompson Learning, 2006
    4. D.J. Barnes and M.K. Kolling, Objects First with Java: A practical introduction using Blue J, Pearson Education, 2006

  • 5. COSC204: Organization and Assembly Language (3CU)

    Prerequisite: COSC101 or Equivalence
    Introduction to computer organization. Signed and unsigned number representation, character representation, ASCII codes. Assembly language programming, instruction format and types, memory and I/O instructions, dataflow, arithmetic, and flow control instructions, addressing modes, stack operations, and interrupts. Datapath and control unit design. RTL, microprogramming, and hardwired control. Practice of assembly language programming.

    Suggested Lab work :
    Programming assignments to practice MS-DOS batch programming, Assembly Process, Debugging, Procedures, Keyboard input, Video Output, File and Disk I/O and Data Structure.

    Textbooks:
    1. Vincent P. Heuring, Harry F. Jordan, Computer System Design & Architecture, Prentice Hall, 2004.
    2. Dandamudi et al, Introduction to Assembly Language Programming: From 8086 to Pentium, Springer, New York, 1998.

  • 6. COSC206: Human Computer Interaction (2CU)

    Prerequisite: COSC101 or Equivalence
    Foundation of HCI, principles of GUI, GUI toolkits. Human-centered software evaluation and development; GUI design and programming.

    Textbooks:
    1. Dix, Finlay, Aboud & Beale, Human-Computer Interaction. Pearson Prentice-Hall, Third ed, 2004. .
    2. Preece, J., Rogers, Y. & Sharp, H., Interaction Design: Beyond Human-Computer Interaction. New York, NY: John Wiley & Sons, 2002.

  • 7. COSC208: Introduction to Artificial Intelligence (3CU)

    Prerequisite: COSC101 or Equivalence
    Introduction to the types of problems and techniques in Artificial Intelligence. Problem-Solving methods. Major structures used in Artificial Intelligence programs. Study of knowledge representation techniques such as predicate logic, non-monotonic logic, and probabilistic reasoning. Examples of expert systems. Introduction to natural language understanding and various syntactic and semantic structures. Expert systems. Introduction to computer image recognition.

    Textbooks:
    1. Stuart Russell and Peter Norvig, AI: A Modern Approach, 2nd Edition, Prentice Hall, 2003. .
    2. G.F. Luga, Artificial Intelligence: structures and strategies for complex problem solving, 5th Edition, Addison Wesley, 2005.

  • 300 Level Courses Outline


  • 1. COSC301: Data Structures and Algorithm (3CU)

    Prerequisite: COSC212 or Competence in Programming
    Review of object-oriented concepts; Basic algorithm analysis - the big-O notation; Fundamental data structures – implementation strategies for stacks, queues and lists; Recursion; Implementation strategies for tree and graph algorithms; Hash tables; Application of data structures.

    Suggested Lab work :
    Programming assignments leading to extensive practice in problem solving and program development involving the use of the various data structures implemented in the course.

    Textbooks:
    1. Adam Drozdek, Data Structures and Algorithms in Java, 2nd Edition, Thomson Course Technology, 2005.
    2. J Lewis & J Chase, Java Software Structures, 2nd Edition, Addison-Wesley, 2005.
    3. D.S. Malik, Java Programming: Program Design Including Data Structures, Thomson Course Technology, 2005.

  • 2. COSC303: Computer Architecture (3CU)

    Prerequisite: COSC205
    Memory hierarchy and cache memory. Integer and floating point arithmetic. Instruction and arithmetic pipelining, superscalar architecture. Reduced instruction set computers. Parallel architectures and interconnection networks.

    Textbooks:
    1. David Patterson & John Hennessy, Computer Architecture: A Quantitative Approach, 4th Edition, Kaufmann, 2006, ISBN 0-12-370490-1.
    2. Linda Null and Julia Lobur, The Essentials of Computer Organization and Architecture, 2nd Edition, Jones & Bartlett, 2006. ISBN 0-7637-3769-0

  • 3. COSC305: Systems Analysis and Design (2CU)

    Prerequisite: COSC211 or Competence in Programming
    The software development life cycle: conception, business case, business context, system requirements, requirements analysis, systems analysis, design, implementation, testing, deployment, maintenance. The Unified Modeling Language (UML): models, use case diagrams, activity diagrams and state chart diagrams, sequence and collaboration diagrams, class diagrams, component diagrams. Managing the process: customers, organization types, project management, teams and team dynamics, computer assisted software engineering (CASE) tools, documentation.

    Suggested Lab Work:
    Analysis and design assignments leading to extensive practice in the use of UML and CASE tools.

    Textbooks:
    1. Dennis, Wixom, Roth, Systems Analysis and Design, 3rd Edition, John Wiley, 2006.
    2. Farmer, McRobb & Bennett: Object Oriented Systems Analysis and Design Using UML, 3rd Edition, Mc-Graw Hill 2006.
    3. Roger S. Pressman, Software Engineering: A Practitioner's Approach, 6th Edition Mc-Graw Hill, 2005.
    4. Ken Lunn, Software Development with UML, Palgrave Macmillan Limited, 2003.

  • 4. COSC307: Web Applications Engineering I (3CU)

    Prerequisite: COSC211 or Competence in Programming
    The Internet (brief history, Internet protocols and Internet services) ; The Web architecture (Client-server architecture, multi-tier architecture, URL) ; XHTML; DHTML (Cascaded Style Sheet, JavaScript, DOM) ; Web interface and interactivity design principles and practice. Incorporating multimedia content into Web pages (using Photoshop, Flash or similar tools).

    Textbooks:
    1. Dietel, H. M., Dietel, P. J., Goldberg, A. B. Internet & World Wide Web How to Program, 4th Edition, Prentice-Hall, 2008.
    2. R. W. Sebesta, Programming the World Wide Web, 3rd Edition, Addison Wesley, 2006
    3. Flanagan: JavaScript: The Definitive Guide, 5th Edition, O'Reilly, 2006

  • 5. COSC309: Database Management Systems (3CU)

    Prerequisite: COSC211
    Basic database concepts. Conceptual modeling. Relational data model. Relational theory and languages. Database Design. Database security and integrity. Introduction to query processing and optimization. Introduction to concurrency and recovery.

    Suggested Lab work:
    Programming assignments to learn database design using CASE tools. Introduction to back-end/Server-based Relational DataBase Management System (RDBMS). Learning Standard SQL (interactive/embedded). Introduction and programming assignments on Front-End tools. Programming team projects to design and develop real life database systems using the learned tools.

    Textbooks:
    1. Ramez Elmasri and Shamkant B. Navathe, Fundamentals of Database Systems, 5th Edition, Addison-Wesley, 2007.
    2. Carolyn Begg and Thomas Connolly, Database Systems: A Practical Approach to Design, Implementation and Management, 4th Edition, Prentice Hall, 2004.

  • 6. COSC311: Organization of Programming Languages (3CU)

    Prerequisite: COSC211 or Competence in Programming Concepts of Programming languages: Syntax and semantics. Data types. Control structures. Sub-Programs. Exception handling. Run-time Storage Management. Programming Paradigms: Imperative, functional, logic, object-oriented and concurrent.

    Textbooks:
    1. Robert W. Sebesta, Concepts of Programming Languages, 7th Edition, Addison-Wesley, 2006.
    2. Kenneth Louden, Programming Languages: Principles and Practice, Second Edition, Course Technology, 2003.
    3. Allen Tucker and Robert Noonan, Programming Languages: Principles and Paradigms, Mc-Graw Hill, 2002.

  • 7. COSC300: Students Industrial Work Experience (SIWES) (6CU)

    SIWES is an integral part of the undergraduate training in Computer Science programme and an essential requirement for graduation. It is usually undertaken at the end the first semester of 300 level. It is a six months programme at the end of which the student has to write, present and defend a technical report on what he/she learnt in the industry.

  • 400 Level Courses Outline


  • 1. COSC400 Project (6CU)

    Prerequisite: COSC300 The project aims to provide experience with planning, executing and formally reporting on a substantial computing task within a set time. Students will develop their understanding of relevant areas of computing and their capabilities in the practical engineering and writing activities involved, and demonstrate their competence as candidate computing professionals.

    Textbooks:
    1. CW Dawson, Projects in Computing and Information Systems, Addison-Wesley, 2005

  • 2. COSC401: Algorithm and Complexity Analysis (3CU)

    Prerequisite: COSC301
    Introduction to algorithms and review of data structures; fundamentals of algorithm analysis; Analysing recursive and non-recursive algorithms; Algorithm design techniques: brute-force, divide-and-conquer, greedy algorithms, dynamic programming, search techniques; NP-complete problems and approximation algorithms.

    Textbooks:
    1. Anany Levitin, Introduction to the Design and Analysis of Algorithms, Addison Wesley, 2003. ISBN 0-201-74395-7
    2. M. Al-Suwaiyel, Algorithms: Design Techniques & Analysis, World Scientific Publishing Company, 1999.
    3. Useful Resources: http://www.cs.ucsd.edu/classes/wi05/cse101

  • 3. COSC403: Software Engineering (3CU)

    Prerequisite: COSC305
    Fundamental design concepts, design notations, and architectural design methods for large-scale software systems. Several design: examples of their use, comparisons among them. Concepts of information hiding, data abstraction, concurrency, and object-oriented software construction.

    Textbooks:
    1. Roger S. Pressman, Software Engineering: A Practitioner's Approach, 6th Edition Mc-Graw Hill, 2005.
    2. Ian Sommerville: Software Engineering, 8th Edition, Addison Wesley, 2006.
    3. Dennis, Wixom, Roth, Systems Analysis and Design, 3rd Edition, John Wiley, 2006.

  • 4. COSC405: Web Application Engineering II (2CU)

    Prerequisite: COSC307
    Review of client-side application development. Server-side application development. Adding content to Web applications dynamically. Input validation and use of regular expressions. Defining and managing sessions. Cookies. Working with databases. Web application security. Assignments and projects should be given to enable students design and implement non-trivial data-driven Web applications.

    Textbooks:
    1. Dietel, H. M., Dietel, P. J., Goldberg, A. B. Internet & World Wide Web How to Program, 4th Edition, Prentice-Hall, 2007.
    2. Jeffrey C. Jackson, Web Technologies: A Computer Science Perspective, Prentice hall, 2007.
    3. Shepherd, G, Microsoft ASP.NET 2.0 Step by Step, Microsoft Corporation, 2006.

  • 5. COSC407: Data Communications and Network (3CU)

    Prerequisite: COSC205
    Introduction to computer networks and layered architectures: connectivity, topology, circuit and packet switching, TCP/IP and ISO models; Application layer: C/S model, DNS, SMTP, FTP, WWW, socket programming and network security; Transport layer: TCP and UDP, congestion control; Network layer: internetworking, addressing and routing algorithms and protocols; Data link layer: framing, flow and error control protocols, PPP, MAC and LANs; Physical layer: principles of data communications, circuit switching, coding, multiplexing and transmission media. Network security: fundamentals of cryptography, secret and public key algorithms, authentication protocols.

    Suggested Lab work :
    The lab involves several projects to gain hands-on experience with network devices, programming and tools. More specifically, it provides students with the opportunity to: Setup various servers such as DNS, DHCP, Web Servers on Windows/Linux platforms; Develop simple client/server network applications using sockets; Create simple web pages; Simulate network; Analyze various protocols by capturing packets; Measure network utilization under varied situations; Use various network-related commands; Configure switches and routers.

    Textbooks:
    1. Behrouz A. Forouzan, Data Communications and Networking, McGraw Hill, 2004.
    2. Andrew Tanembaum, Computer Networks, 4th Edition, Prentice Hall, 2003.

  • 6. COSC409: Professional and Social Aspects of Computing (3CU)

    Prerequisite: COSC206
    Professional aspects; professions and the professional; professional institutions; professional ethics and responsibilities; the computer professional as expert witness. Standards, best practice. Legal background, sources of law; civil and criminal law. Intellectual property rights, software copyright, patents, designs, trade marks and passing off; copyright and webpages, Internet domain names, protection of computer imagers and icons, jurisdiction; confidentiality. Data protection law; freedom of movement of personal data; privacy in telecommunications. Computer crime; fraud; computer misuse; viruses; threatening emails; pornography; grooming in chat rooms. Social aspects of the workplace/society at large. The impact of IT on society.

    Textbooks:
    1. David Bainbridge, Introduction to Information Technology Law, 6th Edition, Longman, 2007.
    2. George Reynolds, Ethics in Information Technology, Course Technology, 2006.

  • 7. COSC411: Operating Systems (3CU)

    Prerequisite: COSC301
    Fundamentals of operating systems design and implementation. Hstory and evolution of operating systems; Types of operating systems; Operating system structures; Process management: processes, threads, CPU scheduling, process synchronization; Memory management and virtual memory; File systems; I/O systems; Security and protection; Case-study.

    Suggested Lab work:
    Implementation of user-defined utilities/commands for UNIX by writing systems programs using different types of system calls including those for file/directory management, process management, signal management, and client/server management. Also involve practice on various aspects of shell environment and shell programming.

    Textbooks:
    1. Brian Stuart, Operating Systems: Principles and Application, Course Technology, 2008.
    2. Avi Silberschatz, Peter Baer Galvin, Greg Gagne, Operating System Concepts, 7th Edition, John Wiley & Sons, Inc., 2004.
    3. A S Tanenbaum, Modern Operating Systems, Prentice Hall, 2001.
    4. H M Dietel, P J Dietel and D R Choffnes, Operating Systems, 3rd Edition, Prentice Hall, 2004.

  • 8. COSC413: Computational Science and Numerical Methods (3CU)

    Prerequisite: MATH209
    History and importance of computational science, overview of application areas, review of required skills. High-performance computing: processor architectures, memory systems for high performance, input/output devices, pipelining, parallel languages and architectures. Scientific visualization: presentation of results, data formats, visualization tools and packages. Application of high-performance computing to scientific and engineering problems.

    Textbooks:
    1. Barry Wilkinson and Michael Allen, Parallel Programming: Techniques and Applications Using Networked Workstations and Parallel Computers, Second Edition, Prentice-Hall, 2005.
    2. Michael J. Quinn, Parallel Programming in C with MPI and OpenMP, First Edition, McGraw-Hill, 2003.

  • 9. COSC402: Formal Methods in Software Development (3CU)

    Prerequisite: COSC212
    Mathematical foundations for formal methods. Formal languages and techniques for specification and design, including specifying syntax using grammars and finite state machines. Analysis and verification of specifications and designs. Use of assertions and proofs. Automated program and design transformation.

    Textbooks:
    1. Jonathanh Bowen, Formal Specification and Documentation using Z: A Case Study Approach, International Thomson Computer Press (ITCP), 1996.
    2. Huth, M. and Ryan, M. Logic in Computer Science: Modelling and Reasoning about Systems. Cambridge University Press. 1999.
    3. Cliff B. Jones, Systematic Software Development Using VDM, 2nd Edition, Prentice Hall, 1990.
    4. Useful Resources:
    a. http://www.cs.chalmers.se/Cs/Grundutb/Kurser/form
    b. http://www.freetechbooks.com/forum-28.html

  • 10. COSC404: Network Design and Management (3CU)

    Prerequisite: COSC205
    Overview of network design and management; Design methodologies; Network management strategies; Network configuration management; Network management protocols: SNMP, and RMON; Network management tools and systems; Network management applications; Desktop and web-based network management; Network troubleshooting.

    Suggested Lab Work:
    A closed lab with hands-on exercises using state-of-the-art tools in the design, analysis and troubleshooting computer networks.

    Textbooks:
    1. James D. McCabe, Network Analysis, Architecture and Design, 2nd Edition, Morgan Kaufmann, 2003.
    2. Rachel Morgan and Henry McGilton, Introducing Unix System V, McGraw-Hill Book Company, 1987

  • 11. COSC406: Advanced Database Systems (2CU)

    Prerequisite: COSC309
    Advanced data models. Conceptual Database design. Concurrency control techniques. Recovery techniques. Query processing and optimization. Integrity and security. Client-server architecture. Distributed database systems. Current trends in database systems.

    Textbooks:
    1. Ramez Elmasri and Shamkant B. Navathe, Fundamentals of Database Systems, 5th Edition, Addison-Wesley, 2007.
    2. Carolyn Begg and Thomas Connolly, Database Systems: A Practical Approach to Design, Implementation and Management, 4th Edition, Prentice Hall, 2004.

  • 12. COSC408: Compiler Construction (3CU)

    Prerequisite: COSC212
    Design and implementation of compilers, principles of languages translation. Each student implements a complete compiler for a small but substantial language. The stages of a compiler. Boot-strapping a compiler. Lexical analysis, regular expressions, finite state machines. Syntactic analysis, context free grammars, parsers. Semantic analysis, type checking, symbol tables. Syntax-directed translation. Data flow analysis, peephole optimization. Code generation.

    Textbooks:
    1. Andrew W. Appel, Modern Compiler Implementation in Java, 2nd Edition, Cambridge University Press, 2002.
    2. ACM//IEEE. Computing Curricula 2001. Electronic version available at http://www.acm.org/sigcse/cc2001
    3. NUC BMAS. Benchmarks and Minimum Academic Standard (Science), Published by the National Universities Commission, April 2007.
    4. Career Space is a European Consortium of over 20 universities all over Europe. They established a working group on ICT curriculum development. Information about this can be reached at http://career-space.com/cdguide
    5. M.R.K. Krishna Rao, S. Junaidu, T. Maghrabi, M. Shafique, M. Ahmad and K. Faisal (2005), Principles of curriculum design and revision: a case study in implementing computing curricula CC2001, Proc. of the ACM Special Interest Group on Computer Science Education Annual Conference on Innovation and Technology in Computer Science Education (ITiCSE'2005).

  • 13. COSC416: Simulation Methodology (3CU)

    Prerequisite: STAT202
    Introduction and comparison with other techniques,discrete simulation model, generation of pseudo random numbers, statistical testing. Implementation of queing theory, simulation languages and packages. System Models, System Studies, Techniques of System simulation, continous system silulation, introduction to GPSS.

    Text Books:
    • System Simulation, Gordon G., Prentice Hall
    • Introduction to Simulation, Payer T.A., McGraw Hall
  • Service Courses Outline


  • 1. COSC264 – Fundamentals of Data Processing (2 Credit Units)

    Prerequisite – O/L MATHS
    Data processing cycle & Operations, Developments in Data processing, storage media, punched-card recording & processing, electronic data processing, communicating with the computer, computer codes & arithmetic, flowcharts & programming techniques, data structure.

    Text Book:

    • Data processing by Martim M. Lipshutz and Seymour Lipshutz, McGraw-Hill book company, Singapore, 1982.

  • 2. COSC265 – Introducing Computer (2 Credit Units)

    Prerequisite – O/L MATHS
    Computer (definition, types generation, history) Computer (structure, components, number system) Computer Software (type, application, systems, packages, languages, machine, symbolic high level languages, most popular languages) Networks Topology; star, ring mesh, bus Popular packages (database, spreadsheet, word processing, Dos windows with pracrice on informationretreival using data based management system commands) Computer applications in Library and Nursing

    Text Book:

    • A Guide to FORTRAN Programming 2nd Edition by Daniel D McCrackken, John Wiley & Sons, Inc., New York, 1965

  • 3. COSC344 – Computer Knowledge and FORTRAN Programming (3CU)

    Prerequisite – O/L MATHS
    Binary, Octal and Hexanedecimal number systems, conversion complement of numbers. Reperesentation of negative numbers, Digital computers, main functional elements of a computer (memory, central and arithmetic units, input-output devices; backing storages). Information in the core store.
    Binary coded decimal, fix and floating point representations, programming languages (short summary of the machine code. Assembly, machine and problem oriented languages). The flow chart language, Loops, interaction. The basic FORTRAN Numerical data, arithmetic, arrays, input-output, control statements, sementation of programmes, statement function, function and subroutine segments. Common, equivalence statements.

    Text Book:

    • A Guide to FORTRAN Programming 2nd Edition by Daniel D McCrackken, John Wiley & Sons, Inc., New York, 1965

Entry Requirements

  • The Department admits students into 100 level as well as 200 level for the B.Sc (Hons.) Computer Science based on their qualifications. In rare cases they may be admitted into upper levels.

    I. For 100 level:
    Candidates must satisfy the general University and Faculty of Science requirements of five O’Level credits which must include: Mathematics, English, Physics and any other two relevant science subjects at Senior Secondary School Certificate level or examination in at most two sittings.

    II. For 200 level:
    Candidates must in addition to (I) above have an Advanced level (A ‘Level) or its equivalence in Computer Science and any other science subject.


Duration of the programme

  • he duration of B.Sc. (Hons.) Computer Science programme is four years for candidates admitted into 100 level and three years for those admitted into 200 level. There are two semesters of formal University Studies in each academic session except at 300level where students are required to undergo Students’ Industrial Work Experience Scheme (SIWES) programme for 6 months. At the end of the programme, each student is required to write, present and defend a report on what he/she learned in the industry. At 400 level, students undertake a one year project in any field of interest.


Graduation Requirements

  • For a student to graduate, he/she must pass all his/her core courses, earn at least 120 credit units (i.e. TECU ≥ 120) and have a Cumulative Grade Point Average of at least 1.50 (i.e. CGPA ≥ 1.50)