Computer Science Department

CSC301
Computer Archiecture1
CSC301 | CSC | 1st Semester |  Download Courseware PDF

Course Synopsis

This course is designed primarily for students in computer science. However, it also meets the need of students in other fields, as a course that provides adequate knowledge in Computer organisation, register transfer sequences, micro operations, instruction codes, control units and timing, microprogramming, bus and memory organisation. By the time the students are through with the course, adequate knowledge about the evolvement in computer architectures and how applications affect architectures would have been properly learnt.

CSC304
Operating Systems I
CSC304 | CSC | 1st Semester |  Download Courseware PDF

Course Synopsis

This course offers an introductory insight into operating systems basics, fundamental principles of the underlying design and implementation of contemporary computer operating systems. In addition, it avails students a methodological approach to the comprehension of crucial operating system concept. Though, it is designed for students at the 300 level of the Bachelor of Technology degree in Computer Science, it is a veritable template for students in other areas of specialisation with emphasis in Computer Science. It is very essential for the basic understanding of Computer Operating system concepts for computer science students with a view to providing a prerequisite primer to a more advanced course in operating system i.e CSC413 - Operating Systems II at 400 level of the Bachelor of Technology programme. While being equally practical and theoretical, the areas covered by the course broadly include history and definition of operating systems, operating systems concepts and structure, processes (communication and scheduling), memory management, input/output and file systems. Other areas covered are protection and security. Towards the end of the course, a case study of Windows operating system and UNIX operating system are treated.

CSC305
System Programming with C
CSC305 | CSC | 1st Semester |  Download Courseware PDF

Course Synopsis

C is a general-purpose programming language that was originally designed by Dennis Ritchie of Bell Laboratories and implemented there on a PDP11 in 1972. It was first used as the systems language for the UNIX operating system. The original C has evolved to into a general-purpose language that is widely available on many machines and in many operating systems. It is one of the chief programming languages of the world, and it is found in colleges and universities everywhere. C has fewer keywords when compared with other programming languages, it is portable and is the native language of UNIX which in turn is a major interactive operating system on workstations and servers. C programming language can be used in conjuction with courses on topics such as computational linguistics, data structures, database system, fractal geometry, graphics and even numerical analysis. This course exposes students to an extensive treatment of the C programming language and major software development tools in the Unix Environment, Application of Systems Programming including interaction with Operating System functions and Network programming.

CSC307
Discrete Structures
CSC307 | CSC | 1st Semester |  Download Courseware PDF

Course Synopsis

This course is designed for a one semester course in discrete mathematics for undergraduate Computer Science students. The course covers the mathematical concepts that students will encounter in many disciplines such as computer science. This course has found a profound application in the field of Computer Science.

CSC309
Theory of Computation
CSC309 | CSC | 1st Semester |  Download Courseware PDF

Course Synopsis

This course provides detailed teaching on theory of computation as one of the fundamental and compulsory courses for students in Computer Science Department. Its major topics include formal languages; their relation to automata theory and their computational complexity. Areas covered are regular expressions, finite automata, pushdown and linear bounded automata; formal grammars and their corresponding classes of languages, Turing machines, undecidability, recursive functions and program schemas.s s dsd

CSC311
Digital Signal Processing
CSC311 | CSC | 1st Semester |  Download Courseware PDF

Course Synopsis

This course is an extensive, second computer architecture course designed primarily for students in computer science disciplines. However, it also meets the need of students in other field like engineering, as a course that provides knowledge in the internal design of the computer, flow of controls in the circuitry. The focus of the course is to impart in the students useful skills that will enhance their ability to identify computers and its design so as to make better choice. Topics to be covered include Introduction; brief review of analogue and digital signal processing systems; discrete time linear time-invariant signal processing systems; design of finite impulse response digital filters; introduction to z-transforms and infinite impulse response type discrete time filters; design of infinite impulse response type digital filters using analogue filter approximations; digital processing of analogue signals and other data; introduction to the discrete Fourier transform.

CSC313
Data Communications
CSC313 | CSC | 1st Semester |  Download Courseware PDF

Course Synopsis

This course introduces students to evolution trend of computer networks. It also helps students in understanding the procedure of transmitting data over the network and how to resolve the conflicting issues arising in the course of transmission. This course provides with practical knowledge and hands-on experience in transmitting data over the network. Topics to be covered include Introduction to digital and analogue representation; channels: noise, bandwidth, capacity, Nyquist, Shannon; telecommunication history; circuit switching and packet switching; multiplexing: FDM.TDM, statistical multiplexing; virtual circuits and datagrams; Aloha, CSMA, CSMA-CD, token passing, CDMA, wireless LANs and simple performance analysis; errors, coding and redundancy; hamming theory and codes; CRCs, selective retransmission and flow control.

CSC315
Data Analysis
CSC315 | CSC | 1st Semester |  Download Courseware PDF

Course Synopsis

Data analysis is a process; it involves inspecting, cleaning, transforming, and modeling data with the goal of highlighting useful information which will be used in drawing conclusions, and supporting decision making. Data analysis has multiple aspects and approaches, encompassing diverse techniques under a variety of names, it is useful in different domain of applications such business, science, and social science etc. Computer science is a field of study that deals with a lot of data in different areas such as performance evaluation therefore students are expected to understand the process and the techniques involved in Data Analysis which will facilitate useful conclusions and provide good decision making.

MTS 303
Abstract algebra I
MTS 303 | CSC | 1st Semester |  Download Courseware PDF

Course Synopsis

This course is an exploratory, first introduction to Abstract Algebra designed primarily for students in Computer Science and Mathematical Sciences. However, it also meets the need of students in other fields, as a course that provides hands-on training in abstractive thinking genuine step are taking to provide sufficient based examples to render them credible or natural. As a course treating abstract ideas, the focus is to impart useful skills on the students in order to enhance their deductive thinking ability and prepare them for the greater task of rigorous proofs and other specialised applications to be encountered at higher levels. Topics to be covered include language and concept of modern mathematics: basic set theory,mappings, relations, equivalence and other relations, Cartesian products. Binary logic, method of proof. Binary operations, algebraic structures, semi-groups, rings, integral domains, fields; homomorphism; number systems, properties of integers,rational,real and complex numbers.

CSC302
Data Structures and Algorithms with C++
CSC302 | CSC | 2nd Semester |  Download Courseware PDF

Course Synopsis

This course introduces students to the underlying principles of data structures and algorithms. It also helps to develop students’ understanding of the basic concepts of object-oriented programming using C++. This course also provides practical knowledge and hands-on experience in designing and implementing data structures and algorithms and their manipulation. Topics to be covered include introduction to C++ programming language, pointers and arrays, classes, recursion, stacks, queues, lists, tables, trees, binary trees, search trees, heaps and priority queues; sorting, hashing, garbage collection, storage management; and the rudiments of the analysis of algorithms.

CSC303
Design and Analysis of Computer Algorithms
CSC303 | CSC | 2nd Semester |  Download Courseware PDF

Course Synopsis

This is a theoretical and fundamental undergraduate course for students studying in Computer Science. Algorithm is a method for solving a class problems; a computer scientist think a lot about this, it is independent of any particular language. The analysis helps knowing how long each statement in the algorithm takes to execute as the problem size varies.

CSC306
System analysis and Design
CSC306 | CSC | 2nd Semester |  Download Courseware PDF

Course Synopsis

This course is designed primarily for students in computer science. However, it also meets the need of students in other fields, as a course that provides adequate knowledge in the analysis, design, and development of an information system. Importance is placed on system characteristics, project management, prototyping, and systems development life cycle phases. At the end of this course, students should be able to analyze problems and design appropriately the solution required using a combination of tools and techniques.

CSC308
Object-oriented Programming in Java
CSC308 | CSC | 2nd Semester |  Download Courseware PDF

Course Synopsis

This course is an extension of courses exposing students to the many concepts of programming. The course is an expository of the object-oriented programming methodology with emphasis on software design and code reuse as its core objectives. As a practical course, the focus is to equip students with adequate high-level object-oriented programming techniques required for successful design, development, and deployment of today’s complex software systems. Furthermore, the students are actually mentored to master how the Java technology can be used to develop modern software systems.

CSC310
Computer Hardware and Maintenance
CSC310 | CSC | 2nd Semester |  Download Courseware PDF

Course Synopsis

This course is an exploratory, first course in computer hardware systems and maintenance designed primarily for students in computer science. However, it also meets the need of students in other fields, as a course that provides hands-on training in the installation, configuration, optimization and upgrading of computer systems. As a practical course, the focus is to impart useful skills on the students in order to enhance ability to install, troubleshoot, repair and maintain computer systems. Topics to be covered include introduction to computer systems, computer system parts, maintenance techniques, approaches and tools; diagnostic techniques; system assembly and installation; troubleshooting and repair of computer systems and accessories; portable computers, etc.

MTS 202
Numerical Analysis I
MTS 202 | CSC | 2nd Semester |

Course Synopsis

This course is the first course in numerical analysis designed for students in mathematics, physical sciences, engineering, mineral and earth sciences. The focus of the course is to equip students with basic useful skills to solve numerically both theoretical and empirical problems leading to linear and nonlinear equations. Topics to be covered include numerical solution of algebraic and transcendental equations; curve fitting; error analysis; interpolation and approximation; zeros of non linear equations in one variable; system of linear equations; numerical differentiation and integration.