CS New Course Descriptions

 
 
 
Course Code
Course Title
Pre-Requisite
Credit Hrs
111-CMS-3
Introduction to Computing
-
3
This course gives the students an introduction to computers and programs; Problem solving and algorithm development; Simple engineering and scientific problems; Introduction to the modular programming paradigm, Programming with emphasis on modular and structured programming technique: primitive data types, variables and constants, operators (arithmetic, assignment, increment, decrement, logical and relational); basic statements (Input and output); Boolean expressions; Control structures (conditional statements).
 
 
 
Course Code
Course Title
Pre-Requisite
Credit Hrs
121-CSM-3
Introduction to programming
111-CMS-3
3
The objective of this course is to cover the fundamental concepts of procedural programming. This course introduces the Java programming language and helps students develop basic problem-solving skills. Topics include elementary in programming, repetition statements, nested loops, methods, pass arguments to a method, method overloading, method abstraction, use of methods in the math class, arrays, common array operations, methods with array arguments and return value, search and sort operations on array.
 
 
 
Course Code
Course Title
Pre-Requisite
Credit Hrs
222-CSM-4
Object Oriented Programming
121-CSM-3
4
This course gives an introduction to object-oriented programming in Java; development of algorithms. Several central mechanisms of object-oriented programming will be covered, including use of classes, objects and references; use of arrays, String & Math classes; use of Java's class library. Inheritance, exception handling and file handling are the important programming concepts that are taken away from this course.
 
 
 
Course Code
Course Title
Pre-Requisite
Credit Hrs
251-CCS-3
Computer Organization and Architecture
-
3
This course is designed to familiarize the students with concepts of computer architecture and functionality. The course gives the knowledge of different types of data may be represented inside a computer, how the various computer components process the data, and how the operating system and the hardware cooperate to make computer operations possible. The course includes a presentation and discussion of generic principles of computer architecture and digital logic.
 
 
 
Course Code
Course Title
Pre-Requisite
Credit Hrs
231-CCS-4
Data Structures & Algorithms
222-CSM-4
4
The course develops the student's understanding and abilities when using advanced programming concepts and techniques in a wide variety of computer-science and real-world problems, with the aim of achieving an efficient implementation for solving a given problem. Thereby, the course enhances the programming skills of the students. Data Structures (Stacks, queues, Lists, Graph and trees), complexity analysis, recursive algorithms, searching & sorting algorithms and Hashing are described as abstract data types with their methods by training extensive examples and applications.
 
 
 
Course Code
Course Title
Pre-Requisite
Credit Hrs
223-CCS-3
Advanced Object Oriented Programming
222-CSM-4
3
This Course is designed to provide extensive hands-on experience in writing, compiling, and executing advanced topics of Java programing. Student will learn to build robust applications that use advance Java concepts. Java is known for reliability, maintainability, and ease of development. Its unique architecture enables the leaners to develop a single application that can seamlessly run across multiple platforms.
 
 
 
Course Code
Course Title
Pre-Requisite
Credit Hrs
341-CCS-3
Principles of Software Engineering
222-CSM-4
3
This course covers the main knowledge areas of software engineering such as basics of software development, software processes, requirement engineering and system modelling. Agile method, plan-driven and extreme programming processes are presented. UML models and some case studies is also discussed. The course describes also some methods for specifying software requirements.
 
 
 
Course Code
Course Title
Pre-Requisite
Credit Hrs
381-CCS-3
Operating Systems
231-CCS-4
3
This course is designed to provide the students with an overview of operating system basic concepts. It will begin with an overview of the structure of modern operating systems. The other specific topics that this course will cover are: process concept, algorithms for CPU scheduling, process synchronization and deadlocks. Also, it will introduce the core concepts of operating systems, such as file systems, principal and virtual memory management, input-output device management and mass storage structure.
 
 
 
Course Code
Course Title
Pre-Requisite
Credit Hrs
352-CCS-3
Microprocessor  and Assembly Language
251-CCS-3
3
This course introduces microprocessors, instruction set of microprocessors, assembly language programming and machine language concepts. Internal communication structure, memory interface components, Input Output processors, Direct Memory Access technique are also discussed in this course. The role of interrupts and interrupt handling techniques are introduced. The students are given training in developing assembly language programs for simple problems during the theoretical and practical sessions.
 
 
 
Course Code
Course Title
Pre-Requisite
Credit Hrs
371-CCS-3
Data Communication and Computer Networks
222-CSM-4
3
This course is a detailed introduction to the basic hardware and software, architectural components for computer communications in local area networks. The components that are focused upon include understanding the basics of computer networks, switching, routing, protocols and system security.
 
 
 
Course Code
Course Title
Pre-Requisite
Credit Hrs
312-CCS-3
Image Processing
-
3
This course is designed to provide the students with an overview of Image processing principles. The course begins with an introduction to image processing and its applications, including the fundamental concepts of visual perception and image acquisition, the basic techniques of image manipulation, segmentation and coding, and a preliminary understanding of pattern recognition and computer vision applications.
 
 
 
Course Code
Course Title
Pre-Requisite
Credit Hrs
361-CCS-3
Artificial Intelligence
231-CCS-4
3
Artificial intelligence is Ubiquitous today. It is the type of adaptable intellect found in humans, a flexible form of intelligence capable of learning how to carry out vastly different tasks. This course teaches the basic concepts and algorithms such as heuristic search, planning and problem solving through AI concepts. This course also focuses on applied AI in the field of Natural Language Processing.
 
 
 
Course Code
Course Title
Pre-Requisite
Credit Hrs
324-CCS-3
Programming with Python
222-CSM-4
3
This course covers fundamental problem-solving concepts, tools and methodologies using Python programming language.  Students will learn how to select an appropriate python data type and apply the most appropriate technical processes for a given problem. They will also learn how to develop python modular code which conforms to the basic principles and required practices of developing an application software with Python language, as Python language has an extensive application library and its effectiveness and popular as a modern programming language.
 
 
 
Course Code
Course Title
Pre-Requisite
Credit Hrs
373-CCS-3
Web Engineering
222-CSM-4
3
This course provides the basic learnings on Web Engineering fundamentals such as analysis modelling, design modelling, testing. Internet basics for web applications,  technologies and tools for developing web applications,  markup languages, styling, data description and transformation, Web services,  client and server-side programming are also some take aways from this course.
 
 
 
Course Code
Course Title
Pre-Requisite
Credit Hrs
313-CCS-3
Game Development
222-CSM-4
3
This course focus on various components involved in the development of a computer game. The Course helps in the process of designing compelling worlds that immerse the player in interactive environments created from the imagination.
 
 
 
Course Code
Course Title
Pre-Requisite
Credit Hrs
314-CCS-3
Operations Research
231-CCS-4
3
Operations research (OR) has many applications in science, engineering, economics, and industry. This course teaches how to analyse the relevant factors of an issue and uses mathematical techniques to arrive at an optimal decision. It is an important course for any professional as it teaches to solve complex problems under uncertainty.
 
 
 
Course Code
Course Title
Pre-Requisite
Credit Hrs
462-CCS-3
Introduction to Machine Learning
361-CCS-3
3
Machine learning, a sub-discipline of computer science and a form of artificial intelligence (AI) that deals with the ability of the computers to learn and evolve without being programmed explicitly. It is solely focused on writing software which can learn from past experience.
 
 
 
Course Code
Course Title
Pre-Requisite
Credit Hrs
425-CCS-2
Programming Paradigms
324-CCS-3
2
The course covers the modern day concepts of conceptualizing and writing computer programs that the students will encounter in many computer science courses.
 
 
 
Course Code
Course Title
Pre-Requisite
Credit Hrs
432-CCS-3
Design and Analysis of Algorithms
231-CCS-4
3
The course covers the design and analysis of algorithms and it involves (a) finding an algorithm to solve the given problem, (b) proving, that the algorithm solves the problem correctly, (c) showing that the problem cannot be solved any faster, and (d) Implementing the algorithm. Designing an algorithm for a computational problem involves knowledge of the problem domain, a thorough knowledge of the data structures that are available and suitable and a good measure of creativity. This course concentrates on the above issues. The course will also cover useful algorithmic design techniques, and methods for analyzing algorithms.
 
 
 
Course Code
Course Title
Pre-Requisite
Credit Hrs
482-CCS-3
Parallel and Distributed Computing
381-CCS-3
3
This course gives the students an introduction to distributed and parallel processing along with Parallel and distributed architectures, models of distributed and parallel machines, distributed and parallel programming paradigms and models, performance analysis of parallel systems.
Students are expected to develop distributed applications using latest technologies.
 
 
 
Course Code
Course Title
Pre-Requisite
Credit Hrs
414-CCS-3
Theory of Compiler
425-CCS-2
3
This course introduces topics included in compiler design such as lexical analysis, parsing, symbol tables and errors handling. A brief introduction to theory of computation is also given in this course.
 
 
 
Course Code
Course Title
Pre-Requisite
Credit Hrs
492-CCS-3
Project -1
491-CCS-0
3
Project phase I is the course in which students proposes project ideas and it will be scrutinized
and approved by the concerned committee to proceed. In this course students do the requirement analysis and design the patterns needed for their proposed project. By the end of this course students would prepare a detailed specification with necessary architectural design of the software system that would be developed in project phase II. This course will also enable the students to improve their interpersonal skills and presentation skills.
 
 
 
Course Code
Course Title
Pre-Requisite
Credit Hrs
493-CCS-3
Project 2
492-CCS-3
3
This course gives the opportunity for the students to bring out their Programming skills by implementing the project ideas (project 1). This course enables the students to develop their inter personal skills such as teamwork and leadership qualities, improve students’ communication skills through the production of a professional report, a professional poster and to give two presentations on their work.
 
 
 
Course Code
Course Title
Pre-Requisite
Credit Hrs
463-CCS-3
Neural Network and fuzzy logic
361-CCS-3
3
This courses teaches how the network is meant to emulate the human brain structure in terms of its modelling, structure, and functionality. This means artificial neural networks mimic the way the human brain processes, stores, and retrieves information—learning along the way and becoming “smarter” over time. This course aims to provide an elaborate study on such artificial neural network.
 
 
 
Course Code
Course Title
Pre-Requisite
Credit Hrs
464-CCS-3
Knowledge Engineering and Experts System
361-CCS-3
3
This course is related to one of the largest area of applications of artificial intelligence is in expert systems, or knowledge based systems as they are often known. This type of system seeks to exploit the specialized skills or information held by of a group of people on specific areas. It can be thought of as a computerized consulting service. It can also be called an information guidance system. Such systems are used for prospecting medical diagnosis or as educational aids. They are also used in engineering and manufacture in the control of robots where they inter-relate with vision systems.
 
 
 
Course Code
Course Title
Pre-Requisite
Credit Hrs
442-CCS-3
Software Testing and Quality Assurance
341-CCS-3
3
The aim and objective of this course is to teach students the concepts and skills needed for SQA and Testing. Software quality assurance is viewed as an activity that runs through the entire development process. It encompasses activities and related techniques to ensure the implementation of appropriate functionality that satisfy the requirements/needs of its targeted client/users for the intended software system, product, or service as the case may be, both correctly and efficiently.
 
 
 
Course Code
Course Title
Pre-Requisite
Credit Hrs
443-CCS-3
Software Design and Architecture
341-CCS-3
3
This course covers the main knowledge areas of software engineering such as basics of software development, software processes, requirement engineering and system modelling. Agile method, plan-driven and extreme programming processes are presented. UML models and some case studies will be also discussed. The course describes also some methods for specifying software requirements.
 
 
 
Course Code
Course Title
Pre-Requisite
Credit Hrs
444-CCS-3
Software Project Management
341-CCS-3
3
This course covers the main knowledge areas of project management (time, cost, quality, scope, risk, human resources, communications, etc.) by focusing on software projects. Project planning, cost estimation (using COCOMO and FPs), earned-value analysis techniques and scheduling are presented. Software project Risk management will be also discussed. The course describes also some methods for resource allocation.
 
 
 
Course Code
Course Title
Pre-Requisite
Credit Hrs
491-CCS-0
Summer Training
 
3
All students need to complete summer training in a company and get trained in hardware, software and organizational management. The students are required to give a weekly progress report and a final progress report from the company and coordination with the supervisor of the training company regarding the final evaluation during the training period and make sure to send it to the department head.  After completion of the training, each student should submit a training report and give a presentation about the training for evaluation and grading