Msc. Computer Science Programme

First Semester

Second Semester

Courses Outline

  • 1. COSC801: Operating Systems (3CU)

    Structural design aspects of an operating system: process model, inter-process communication, synchronization mechanisms, resource management, and scheduling. Protection issues. Implementation issues of modern operating systems. Distributed operating systems. Deadlock detection, recovery, and avoidance. Case studies. Project(s).

  • 2. COSC802: Software Engineering Methodologies (3CU)

    Software engineering and its place as an engineering discipline. Life cycle of software system: Requirements analysis, development, operation and maintenance. Software metrics: Portability, Reusability, Correctness, Reliability, Efficiency, Usability, Integrity, Maintainability and Flexibility. Software quality and testing. Software architecture: architecture description languages, pattern-oriented software architecture, component based development, distributed software architecture using middleware, enterprise application integration, architecture for mobile and pervasive systems and model driven architecture. Advanced Modeling: UML extensions mechanisms, object constraint language and model checking. Software project management: Study of interpersonal process decision making styles, problem solving concepts and procedures, creative effort, conflict resolution, leadership and assessment. Concepts of motivation, team work and group dynamics. Software engineering and law: intellectual property law, professional ethics and code of conduct. Patents, trademarks, copyright, trade secrets, privacy, confidentiality, contracts and licensing, government regulations, global legal issues including internet law and cybercrime. Overview of open source software.

  • 3. COSC803: Advance Computer Algorithms (3CU)

    Review of data structures; linear data structures, hashing, trees, graphs, recursion. Complexity classes; empirical measurement of performance; time and space tradeoffs analysis. Algorithmic strategies: Brute force algorithms; greedy algorithms; divide and conquer, back tracking; branch and bound; minimum spanning tree, heuristics; pattern matching and string/text algorithms; numerical approximation algorithms. Tractable and intractable problems.

  • 4. COSC804: Advance Computer Architecture (3CU)

    Advanced computer architecture including discussion of instruction set design (RISC and CISC), virtual memory system design, memory hierarchies, cache memories, pipelining, vector processing, I/O sub systems, co-processors, and multiprocessors architectures. Case studies of current systems.

  • 5. COSC805: Computer Communication and Networks (3CU)

    Channels and channel capacity, introduction to information theory; sharing network resources: telecommunications history; circuit switching and packet switching; multiplexing; FDM, TDM, statistical multiplexing; virtual circuits and datagrams; advantages and disadvantages; sharing the medium: Aloha, CSMA (persistent and non-persistent), CSMA-CD, token passing, CDMA, wireless LANs and simple performance analysis; dealing with errors: errors, coding and redundancy; hamming theory and codes; CRCs ARQ protocols: CR selective retransmission and flow control; internetworking and the internet: ISPs, datagram forwarding and the DNS; IPV4; addressing and forwarding; encapsulation and address resolution; TCP and UDP; ports and congestions controls; example applications; modeling data networks: services and protocols; layered architectures; the OSI 7-layer model; introduction to queue theory; physical media; LANs and bridging; WANs and point to point links; routing; addressing and routing in the internet; end to end communication in the internet; and application protocols. Cyber space technology: Cyber Crime, Cyber Security, and models of Cyber Solution.

  • 6. COSC806: Design and Implementation of Programming (3CU)

    Comparative study of the organization and implementation of a variety of programming languages and language features. Design principles are explored and applied in a historical review of major languages. Procedural, functional, logic based, object-oriented and parallel languages. Research issues such as polymorphism, formal semantics and verification explored in depth.

  • 7. COSC807: Modeling and Simulation of Computing Systems (3CU)

    Basic probability and statistics. Review of discrete-event simulation tools and methodologies. Simulation languages. Random Number generation. Developing Simulation Models. Simulation Validation. Output Data Analysis. Applications to computer systems. Project(s).

  • 8. COSC808: Data Security and Encryption (3CU)

    Mathematical principles of cryptography and data security. A detailed study of conventional and modern cryptosystems. Zero knowledge protocols. Information theory, Number theory, complexity theory concepts and their applications to cryptography.

  • 9. COSC809: Advance Database Systems (3CU)

    A brief introduction to database concepts: file systems and databases, and the relational database model; design concepts and implementation: entity relationship (E-R) modeling; normalization of database tables and structured query language; database design and implementation. Transaction management and concurrency control and distributed database management systems; database privacy, security, failure and recovery. Object oriented databases; client/server systems; data warehouse; data mining; databases in electronic commerce; web databases development and database administration.

  • 10. COSC812: Application Development for Internet-Based Services (3CU)

    Introduction to internet, standards and specifications; survey of contemporary internet technologies; current internet tools; Designing and publishing a web server; WWW programming markup languages; Using alternative protocols in WWW, Adding multimedia features to the WWW; Server side programming, client programming and database programming for the web; Security and Privacy.

  • 11. SCI801 Management and Entrepreneurship (2CU)

    The course will cover business environment, general management, financial management, entrepreneurship development, feasibility studies, marketing and managerial problem solving.

  • 12. SCI802: ICT and Research Methodology (2CU)

    Essentials of Spreadsheet, Internet Technology, Statistical Packages, precision and accuracy of estimates, principles of scientific research, concept of hypotheses formulation and testing, organization of research and report writing.

  • 13. COSC881: Seminar (1 CU/Semester)

  • 14. COSC891: Research/Thesis (3 CU/Semester)

  • 15. COSC882: Seminar (1 CU/Semester)

  • 16. COSC892: Research/Thesis (3 CU/Semester)

Entry Requirements

  • The entry requirement for the M.Sc. Computer Science, is a first degree with at least a second class lower in Computer Science, Mathematics with Computer Science, Statistics with Computer Science or equivalent from any recognized University. However, candidates having a third class degree may also be considered if he / she has spent at least five years in some relevant institution after graduation. Candidates with a first degree and the 2-year Postgraduate Diploma in Computer Science (PGDCS) of Ahmadu Bello University, Zaria, are considered for admission into M.Sc. Computer Science programme.

Duration of the programme

  • The minimum duration for M.Sc. Computer Science programmes is not less than three semesters (18 months) while the maximum is not more than six semesters (three academic sessions).