[go: up one dir, main page]

0% found this document useful (0 votes)
152 views19 pages

Plan of Study Msc. Computer Science For The Session Fall 2017

This document outlines the plan of study for the MSc Computer Science program at Khwaja Fareed University of Engineering & Information Technology for the Fall 2017 session. It includes the courses required to complete the degree over 4 semesters, with 71 total credit hours needed. In semester 1, students will take courses in programming fundamentals, discrete structures, data communication and computer networks, digital logic design, and communication skills. Subsequent semesters include additional core computer science courses, as well as electives in areas such as operating systems, databases, software engineering, and a final year project.

Uploaded by

aafi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
152 views19 pages

Plan of Study Msc. Computer Science For The Session Fall 2017

This document outlines the plan of study for the MSc Computer Science program at Khwaja Fareed University of Engineering & Information Technology for the Fall 2017 session. It includes the courses required to complete the degree over 4 semesters, with 71 total credit hours needed. In semester 1, students will take courses in programming fundamentals, discrete structures, data communication and computer networks, digital logic design, and communication skills. Subsequent semesters include additional core computer science courses, as well as electives in areas such as operating systems, databases, software engineering, and a final year project.

Uploaded by

aafi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 19

Plan of Study

MSc. Computer Science


For the Session Fall 2017

Department of Computer Science


Faculty of Information Technology
Khwaja Fareed University of Engineering & Information Technology
Rahim Yar Khan, Pakistan
Plan of Study-MSc. Computer Science
For the Session Fall 2017
Semester-I
Sr.# Course Code Title of the Course Cr. Hrs Pre Requisite
1 COSC-1101 Programming Fundamentals 3
2 COSC-1103 Discrete Structures 3
3 COSC-1201 Programming Fundamentals-Lab 1
COSC-3103 Data Communication & Computer 3
4
Networks
5 ELEN-2100 Digital Logic Design 3
6 ENGL-1119 Communication Skills 3
Total Credit Hours 16

Semester-II
Sr.# Course Code Title of the Course Cr. Hrs Pre Requisite
1 COSC-1102 Object Oriented Programming 3
2 COSC-1202 Object Oriented Programming-Lab 1
3 COSC-2101 Data Structures & Algorithms 3
4 COSC-2201 Data Structures & Algorithms-Lab 1
5 COSC-3101 Software Engineering 3
6 COSC-3102 Database Systems 3
7 COSC-3202 Database Systems-Lab 1
8 MSCI-2116 Principles of Accounting 3
Total Credit Hours 18

Semester-III
Sr.# Course Code Title of the Course Cr. Hrs Pre Requisite
1 COSC-2106 Operating Systems 3
2 COSC-2108 Computer Architecture & Organization 3
3 COSC-2206 Operating Systems-Lab 1
COSC-3104 Theory of Automata & Formal 3
4
Languages
5 COSC-3116 Mobile Application Development 3
6 COSC-4120 Web Programming 3
7 COSC-4301 Final Year Project-I 3
Total Credit Hours 19

Semester-IV
Sr.# Course Code Title of the Course Cr. Hrs Pre Requisite
1 COSC-3109 Artificial Intelligence 3
2 COSC-4102 Compiler Construction 3
3 COSC-4111 Visual Programming 3
4 COSC-4302 Final Year Project-II 3
5 INFT?4107 Routing & Switching 3
6 MSCI-3111 Entrepreneurship 3
Total Credit Hours 18
Total Credit Hours required for Degree Completion = 71
Course Contents
The course contents along with Program Educational Objectives (PEOs) are given for all the core
and elective courses.

Programming Fundamentals
Credit Hours: 3+1 Course Code: COSC-1101 Prerequisites: None

Course Learning Outcomes (CLOs):

At the end of the course the students will be able to: Domain BT Level

1. Understand basic problem solving steps and logic constructs C 2

2. Apply basic programming concepts C 3

3. Design and implement algorithms to solve real world problems. C 3


* BT= Bloom’s Taxonomy, C=Cognitive domain, P=Psychomotor domain, A= Affective domain

Course Content:
Introduction to Problem Solving, Brief Review of Von-Neumann Architecture, Introduction to Programming, Role
of Compiler and Linker, Introduction to Algorithms, Basic Data Types and Variables, Input/Output Constructs,
Arithmetic, Comparison and Logical Operators, Conditional Statements and Execution Flow for Conditional
Statements, Repetitive Statements and Execution Flow for Repetitive Statements, Lists and Their Memory
Organization, Multi-Dimensional Lists, Introduction to Modular Programming, Function Definition and Calling,
Stack Rolling and Unrolling, String and String Operations, Pointers/References, Static and Dynamic Memory
Allocation, File I/O Operations.

Teaching Methodology:

Lectures, Written Assignments, Practical labs, Semester Project, Presentations

Course Assessment:

Sessional Exam, Home Assignments, Quizzes, Project, Presentations, Final Exam

Reference Material:
1. Starting out with Python by Tony Gaddis, Pearson, 4 th Edition 2017; ISBN-13: 978-0134444321.
2. Introduction to Computation and Programming Using Python With Application to Understanding Data by John V. Guttag,
The MIT Press, 2016; ISBN-13: 978-0262529624.
3. Practice of Computing Using Python by William F. Punch and Richard Enbody, Pearson, 3 rd Edition 2016;
ISBN-13: 978-0134380315.
4. Starting out with Programming Logic & Design by Tony Gaddis, Pearson, 4th Edition, 2015;ISBN-13: 978-0133985078.
5. C How to Program by Paul J. Deitel and Harvey Deitel, Pearson, 8 th Edition 2015;ISBN-13: 978-0133976892.
Discrete Structures
Credit Hours: 3 Course Code: COSC-1103 Prerequisites: None

Course Learning Outcomes (CLOs):

At the end of the course, the students will be able to: Domain BT Level*
1. Understand logically by using basic mathematical knowledge while
C 1
analyzing problems

2. Analyze mathematical models, methods and proofs C 2

3. Build and apply mathematical models to various problems C 3

*
BT= Bloom’s Taxonomy, C=Cognitive Domain, P=Psychomotor Domain, A=Affective Domain

Course Contents:
Propositional & Predicate Logic, Mathematical Reasoning, Logic Connectives & Their Applications, Laws of
Logic, Rules of Inference, Contraposition, Proof by Contradiction, Proof by Implication, Circuit’s Theory, Logic
Connectives & Logic Gates, Set Theory, Venn Diagram, Set Identities & Venn Diagram Applications, Relations,
Relation Forms & Types, Relation Representation Mechanism, Partition Orderings, Recurrence Relations, Relation
Properties & There Applications. Functions: Function Mappings, Function Composition, Inverse Functions &
Recursive Functions. Sequences, Series, Counting, Permutations & Combinations, Elements of Graph Theory,
Directed Graph, Weighted Graph and Its Applications, Path & Circuits, Matrix Representation of Graphs, Function
& algorithms, Dividing algorithms, Comparing Different Algorithms, Time and Space Complexity of Algorithms,
Data Structures: Stack, Queues, Link List, Trees, and Searching Techniques in Tree.

Teaching Methodology:

Lectures, Exercise, Practice-Problem Solving Session, Presentations.

Course Assessment:

Mid Term Exam, Home Assignments, Quizzes, Final Exam.

Reference Material:
1. Discrete Mathematics and its Applications by Kenneth H. Rosen, McGraw-Hill Education, 7th Edition, 2011; ISBN:978-
0073383095
2. Discrete Mathematics with Applications by Susanna S. Epp, Cengage Learning, 4thEdition, 2010;
ISBN:978-0495391326
3. Discrete Mathematics by Richard Johnson Baugh, Pearson, 7th Edition, ISBN: 978-0131593183
Computer Networks
Credit Hours: 3+1 Course Code: COSC-3101 Prerequisites: None
Course Learning Outcomes (CLOs):
At the end of the course, the students will be able to: Domain BT Level*
1. Understand the fundamental principles of communication and
C 1
networking.
2. Explain the services and functions provided by each layer in the internet
C 2
protocol stack.
3. Identify various internetworking devices and protocols, and their
C 3
functions in a network.
4. Analyse working and performance of key technologies, algorithms and
C 4
protocols.
5. Install network for small scale organizations. C 5
*
BT= Bloom’s Taxonomy, C=Cognitive Domain, P=Psychomotor Domain, A=Affective Domain

Course Contents:
Introduction to Data Communications & Networks, Communication Components, Standards, Protocols, Network
Topologies, Effectiveness of Communication, Types of Network, Layered Network Models (OSI Reference Model,
TCP/IP Networking Architecture), Physical Layer Functionality, Data Link Layer Functionality, Network Layer
Functionality, Transport Layer Functionality, Application Layer Functionality, Transmission Modes, Transmission
Media, Transmission Impairments, Multiplexing Techniques, Multiple Access Techniques, Data Link Protocols,
Layer 2 & Layer 3 Devices, Layer 2 & Layer 3 Addressing, Sub-netting, Super-netting/CIDR, Routing & Routed
Protocols, Distance Vector Routing Protocols, Link State Routing Protocols, Network Address Translation, Circuit
Switch Networks, Packet Switch Networks, Wireless Networks, Information Security, Network Security, Latest
Trends in Computer Networks.
Teaching Methodology:
Lectures, Written Assignments, Practical labs, Semester Project, Presentations.

Course Assessment:
Mid Term Exam, Home Assignments, Quizzes, Project, Presentations, Final Exam.

Reference Material:
1. Data Communications and Networking by Behrouz A. Forouzan, McGraw-Hill Science, 5th Edition, 2012;
ISBN-10: 073376221
2. Data and Computer Communications by William Stallings, Prentice Hall, 9th Edition, 2010;ISBN-10: 0131392050
3. Computer Networks by Andrew S. Tanenbaum and David J. Wetherall, Prentice Hall, 5th Edition, 2010;
ISBN-10: 0132126958
4. Computer Networks and Internets by Douglas E. Comer, Prentice Hall, 5thEdition, 2008;ISBN-10: 0136066984
Object Oriented Programming
Credit Hours: 3+1 Course Code: COSC-1102 Prerequisites: COSC-1101
Course Learning Outcomes (CLOs):
At the end of the course the students will be able to: Domain BT Level

1. Understand principles of object oriented paradigm. C 2

2. Identify the objects & their relationships to build object oriented solution C 3

3. Model a solution for a given problem using object oriented principles C 3

4. Examine an object oriented solution. C 4

* BT= Bloom’s Taxonomy, C=Cognitive domain, P=Psychomotor domain, A= Affective domain

Course Content:
Introduction to Object Oriented Design, History and Advantages of Object Oriented Design, Introduction to Object
Oriented Programming Concepts, Classes, Objects, Data Encapsulation, Constructors, Destructors, Access
Modifiers, Const. vs Non-Const. Functions, Static Data Members & Functions, Function Overloading, Operator
Overloading, Identification of Classes and their Relationships, Composition, Aggregation, Inheritance, Multiple
Inheritance, Polymorphism, Abstract Classes and Interfaces, Generic Programming Concepts, Function & Class
Templates, Standard Template Library, Object Streams, Data and Object Serialization Using Object Streams,
Exception Handling.

Teaching Methodology:
Lectures, Written Assignments, Practical labs, Semester Project, Presentations
Course Assessment:
Sessional Exam, Home Assignments, Quizzes, Project, Presentations, Final Exam
Reference Material:
1. Starting Out with C++ from Control Structures to Objects by Tony Gaddis, Pearson, 9 th Edition, 2017;
ISBN-13: 978-0134498379.
2. C++ How to Program by Paul J. Deitel and Harvey Deitel, Pearson, 10 th Edition, 2016; ISBN-13: 978-0134448237.
3. Java: How to Program by Paul Deitel and Harvey Deitel, Prentice Hall, 9 th Edition, 2011; ISBN-13: 978-0132575669.
4. Beginning Java 2 by Ivor Horton, Wrox, Java 7 thEdition, 2011; ISBN-13: 978-0470404140.
5. An Introduction to Object Oriented Programming with Java by C. Thomas Wu, McGraw-Hill Education,
5th Edition, 2009; ISBN-13: 978-0073523309.
6. Object Oriented Programming in C++ by Robert Lafore and Waite Group, Sams Publisher, 3 rd Edition, 1998;
ISBN
- 13: 978-1571691606.
Data Structures & Algorithms

Credit Hours: 3+1 Course Code: COSC-2101 Prerequisites: COSC-1102

Course Learning Outcomes (CLOs):

At the end of the course the students will be able to: Domain BT Level
1. Implement various data structures and their algorithms, and apply them in
C 2
implementing simple applications.
2. Apply the knowledge of data structures to other application domains. C 3

3. Analyze simple algorithms and determine their complexities. C 4

4. Design new data structures and algorithms to solve problems. C 5

* BT= Bloom’s Taxonomy, C=Cognitive domain, P=Psychomotor domain, A= Affective domain

Course Content:
Abstract data types, Complexity Analysis, Big-O notation, Stacks (Linked Lists and Array Implementations),
Recursion and Analyzing Recursive Algorithms, Divide and Conquer algorithms, Sorting Algorithms (Selection,
Insertion, Merge, Quick, Bubble, Heap, Shell, Radix, Bucket), Queue, Dequeuer, Priority Queues (Linked and Array
Implementations of Queues), Linked List & its Various Types, Sorted Linked List, Searching an Unsorted Array,
Binary Search for Sorted Arrays, Hashing and Indexing, Open Addressing and Chaining, Trees and Tree Traversals,
Binary Search Trees, Heaps, M-way Tress, Balanced Trees, Graphs, Breadth-First and Depth-First Traversal,
Topological Order, Shortest Path, Adjacency Matrix and Adjacency List Implementations, Memory Management
and Garbage Collection.

Teaching Methodology:
Lectures, Written Assignments, Practical labs, Semester Project, Presentations

Course Assessment:
Sessional Exam, Home Assignments, Quizzes, Project, Presentations, Final Exam

Reference Material:
1. Data Structures and Abstractions with Java by Frank M. Carrano & Timothy M. Henry, Pearson, 5 thEdition 2018; ISBN-
13: 978-0134831695.
2. Data Structures and Algorithm Analysis in C++ by Mark A. Weiss, Pearson, 4th Edition, 2013;
ISBN-13: 978-0132847377.
3. Java Software Structures: Designing and Using Data Structures by John Lewis and Joseph Chase, Pearson, 4 thEdition,
2013; ISBN-13: 978-0133250121.
4. Data Structures and Algorithms in C++ by Adam Drozdek, Cengage Learning, 4 th Edition, 2012;
ISBN-13: 978-1133608424.
5. Data Structures and Algorithm Analysis in Java by Mark A. Weiss, Pearson, 3 rd Edition, 2011;
ISBN-13: 978-0132576277.
Software Engineering
Credit Hours: 3 Course Code: COSC-1104 Prerequisites: None
Course Learning Outcomes(CLOs):
After the completion of this course the student should be able to: Domain BT Level
1. Demonstrate Basic project management skills for solving real world
C 2
problems.
2. Understand and be able to apply the principles of software engineering
C 3
practice and process
3. Build Software using modern tools to solve real world problems. C 3

4. Analyze Real world problems by using software engineering constructs C 4

* BT= Bloom’s Taxonomy, C=Cognitive Domain, P=Psychomotor Domain, A=Affective Domain

Course Contents:
Software Engineering Introduction, Professional Software Development and Software Engineering Ethics,
Challenges in Software Engineering, Software Aided Software Engineering Tools, System Development Process,
Prototyping and the Process of Prototype Development, Software Development Phases, Requirement, Design,
Software Models, Implementation, Integration, Evolutions, Maintenance, Development Methodology, Plan-Driven
and Agile S/W Development, Validation &Verification, Rational Unified Process, Process Models, Water Fall and
Agile Processes, Evolutionary Development, Component Based Reuse Oriented Development, Incremental
Development and Spiral Model, Importance of Strategic Planning, System Evaluation, Requirement Engineering,
Functional &Non-Functional Requirement, User &Domain Requirement, Requirement Gathering and
Documentation, Requirement Engineering Process, Feasibility Study, Requirement Elicitation, Requirement
Discovery, Requirement Verification &Validation, System Models, Behavioral Model, Object Oriented Model,
Agile &RAD Development, Software &System Architecture, Architectural Styles and Design Element,
Architectural Design & Interface Design, Component Level Design Element, Deployment Design Element, Software
Testing, Unit Testing &Integration Testing, System Testing Process, Internal &External View of Testing, Release
Testing, User Testing, White Box Testing Black Box Testing, Stages in Acceptance Test Process, User Testing,
Acceptance or Alpha Testing, Interface Testing, Software Project Management, Activity Related To SPM, Proposal
Writing, Planning &Scheduling, Project Cost, Project Cost Management

Teaching Methodology:
Lectures, Written Assignments, Semester Project, Presentations.

Course Assessment:
Lectures, Written Assignments, Semester Project, Presentations.
Reference Material:
1. Software Engineering by Ian Summerville, Pearson Publishers, 10 thEdition, 2015, ISBN: 13-978-0133943030
2. Software Engineering: A Practitioner's Approach by Roger S, Pressman, McGraw-Hill Education, 8th Edition , 2014,
ISBN: 13-978-0078022128
Database Systems
Credit Hours: 3+1 Course Code: COSC-2103 Prerequisites: COSC-2101
Course Learning Outcomes(CLOs):
After the completion of this course the student should be able to: Domain BT Level

1. Understand the modelling of real-life information in a database system. C 2

2. Use the languages designed for data access. C 3

3. Design issues of an efficient and reliable database system. C 4

4. Implement a practical application on a real database. C 4

* BT= Bloom’s Taxonomy, C=Cognitive Domain, P=Psychomotor Domain, A=Affective Domain

Course Contents:
Basic database concepts, Characteristics, advantages and implications of the database approach to information
systems as contrasted with traditional integrated file systems. DBMS architecture. Roles involved with database
systems. The database system environment including data models, schemas, database languages and interfaces.
Three-schema architecture and data independence. Information analysis to identify query keys, candidate keys,
entities, attributes relationships and integrity constraints. ER modeling as a means of representing information
concepts. Extended entity relationship modeling as it relates to specialization, generalization and inheritance.
Relational model concepts. Referential integrity, entity integrity, and other constraints. Defining a relational
schema from an ER diagram. Definition and use of relational algebra operations to query a relational database. Use
of SQL to define a relational data model. Basic and complex queries in SQL. Insert, delete and update statements
in SQL. Defining and using Views in SQL. Implement security with Grant/Revoke. Definition of functional
dependency, full functional dependency, transitive dependency and multi-valued dependency. Definition of the
normal forms from un-normalized through 4th normal form and how to apply the normalization process to recognize
normal forms. How to move a data model to a higher normal form and the issues of de-normalization as it applies
to retrieval performance. Methods for extending database functionality to programming languages such as COBOL
or Java. Description of pre-compliers, dynamic SQL, ODBC, and JDBC. Students will gain introductory experience
with a programmatic interface to insert, update, delete and query data in a database.

Teaching Methodology:
Lectures, Power Point Slides, Interactive Sessions, Extra Material, Projects, Presentations

Course Assessment:
Midterm Exam, Quizzes, Home Assignments, Case Study, Projects, Presentations, Final Exam
Reference Material:
1. Database Systems: Design, Implementation & Management by Thomas Connolly and Steven Morris, Cengage Learning,
13th Edition, 2018; ISBN-10: 1337627909
2. Modern database management by Jeffrey A. Hoffer, Ramesh Venkataraman and Heikki Topi, Pearson, 11 th Edition, 2012;
ISBN-10: 0132662256.
3. Database system concepts by Abraham Silberschatz, Henry Korth and S. Sudarshan, McGraw-Hill Education, 6th Edition,
2010; ISBN-10: 0073523321
Operating Systems
Credit Hours: 3 +1 Course Code: COSC-2102 Prerequisites: COSC-2101

Course Learning Outcomes (CLOs):


At the end of the course, the students will be able to: Domain BT Level*
1. Describe how computing resources (such as CPU and memory) are managed by
the operating system and the basic principles used in the design of modern C 2
operating systems.
2. Demonstrate competency in recognizing and using operating system features C 2
3. Analyze the key trade-offs between multiple approaches to operating system
C 4
design.
4. Evaluate the problems related to computer system, CPU scheduling and memory
C 5
management.
*
BT= Bloom’s Taxonomy, C=Cognitive Domain, P=Psychomotor Domain, A=Affective Domain

Course Contents:
Introduction to Operating System, Computer-System Organization , Computer-System Architecture , Operating-
System Structure , Process Management, Memory Management, Storage Management, Kernel Data Structures,
Operating-System Services, User and Operating-System Interface ,Operating-System Design and Implementation,
Operating-System Structure, System Boot, Process Concept, Process Scheduling, Operations on Processes,
Threads, Multicore Programming, Multithreading Models , The Critical-Section Problem , Peterson’s Solution,
Semaphores , CPU Scheduling, Scheduling Criteria , Scheduling Algorithms, Thread Scheduling , Multiple-
Processor Scheduling, CPU Scheduling, Deadlock, Deadlock Characterization, Methods for Handling Deadlock,
Deadlock Prevention, Deadlock Avoidance, Deadlock Detection, Recovery from Deadlock, Swapping, Contiguous
Memory Allocation, Segmentation, Paging, Structure of the Page Table, Disk Scheduling, Disk Management, File
System Interface, Access Methods, Directory and Disk Structure, Virtual Machines, Distributed Systems, The Linux
System, System Security and Protection, Virtualization.

Teaching Methodology:
Lectures, Written Assignments, Practical labs, Semester Project, Presentations.

Course Assessment:
Mid Term Exam, Home Assignments, Quizzes, Project, Presentations, Final Exam.
Reference Material:
1. Operating System Concepts by Abraham Silberszchats and Calvin, The MIT press, 9th Edition, 2013;
ISBN-13: 9781118129388
2. Survey of Operating System by Jan and Charles Holcombe's , McGraw-Hill Science, 5th Edition, 2016;
ISBN-13: 9781259618635
3. Principals of Operating Systems by Nearsh Chauhan, Oxford University Press, 1 st Edition, 2014;
ISBN-13: 9780198082873
Computer Architecture & Organization
Credit Hours: 3+1 Course Code: COSC-2108 Prerequisites: None

Course Learning Outcomes (CLOs):

At the end of the course the students will be able to: Domain BT Level

1. Understand fundamentals of computer architecture and Organization C 2


2. Analyze Von Neumann and MIPS Instruction set architecture. C 3
3. Understand design principles of ALU and typical data and control paths.
4. Understand the pipelining working and improvement CPU performance.

5. Design the instruction set of a system and operational units C 3


6. Designing concepts of Parallel Processing Systems

* BT= Bloom’s Taxonomy, C=Cognitive domain, P=Psychomotor domain, A= Affective domain

Course Content:
Introduction to architecture and organization, Structure and Function of a system, The Evolution of the Intel x86
Architecture, Designing for Performance, Computer Components, Instruction Fetch and Execute, Instruction
Cycle, Instruction Cycle with Interrupts, Bus Interconnection, Characteristics of Memory Systems, Memory
hierarchy Cache memory, System Memory Design Process, Mapping Function cache, Semiconductor Main
Memory, Flash Memory Peripheral Devices , I/O Polling and I/O modules, DMA, External Interconnection
Standards, Operating system concept in System Architecture, Virtual Memory, Positional Number Systems,
Machine Instruction Characteristics, Elements of Machine Instructions, Instruction Set Design, Intel x86 and
ARM Operation Types, Instruction Formats, Processor Organization, Multiple Processor Organizations

Teaching Methodology:

Lectures, Written Assignments, Semester Project, Presentations

Course Assessment:
Sessional Exam, Home Assignments, Quizzes, Project, Presentations, Final Exam
Reference Material:
1. Computer Organization and Architecture (Designing for Performance 10thEdition) William Stallings ISBN
978-0-13-410161-3 — ISBN 0-13-410161-8 1. Computer organization. 2. Computer architecture.
2. Digital Design and Computer Architecture by David Money Harris and Sarah L. Harris, 2nd Edition, 2007;
ISBN 978-0123944245
3. https://www.geeksforgeeks.org/computer-organization-and-architecture-tutorials/

Von-Neumann Architecture,
Theory of Automata
Credit Hours: 3 Course Code: COSC-2105 Prerequisites: COSC-1103
Course Learning Outcomes (CLOs):
At the end of the course, the students will be able to: Domain BT Level*
1. Explain the strength and limitations of computation models of language theory and
C 2
finite automata
2. Describe and design regular expressions and automata for regular and context free
C 2
languages accepting or generating a limited class of languages
3. Differentiate and manipulate formal descriptions of languages, automata and
C 3
grammars
4. Apply various automata models for describing real world examples C 4
5. Evaluate and optimize automata models and context-free grammars C 5
*
BT= Bloom’s Taxonomy, C=Cognitive Domain, P=Psychomotor Domain, A=Affective Domain
Course Contents:
Introduction to Computation Theory, Review of Basic Mathematics, Defining Languages, Descriptive and
Recursive Forms of Languages, Regular Languages, Regular Expressions, Deterministic Finite Automata (DFA),
Nondeterministic Finite Automata (NFA), Equivalence of DFAs and NFAs, Recognition, Transition Graphs,
Generalized Transition Graphs, Closure Properties, Kleene’s Theorem, Applications of DFAs and NFAs, Non
Regular Languages, Pumping Lemma for Regular Languages, Moore and Mealy Machines, Context Free Grammar
(CFG), Context Free Languages (CFLs), Regular Grammar, Generation and Parsing, Ambiguous Grammars,
Chomsky Normal Form, Pushdown Automata, Deterministic and Nondeterministic PDAs, Equivalence of
Pushdown Automata and CFG, Non-Context Free Languages, Pumping Lemma for CFLs, Operations on CFLs,
Decidability, Open Questions Regarding Computation, CYK Algorithm for CFLs, Computability Theory,
Introduction to Turing Machine and Its Variants.

Teaching Methodology:
Lectures, Written Assignments, Practical labs, Semester Project, Presentations.
Course Assessment:
Mid Term Exam, Home Assignments, Quizzes, Project, Presentations, Final Exam.
Reference Material:
1. Introduction to computer theory by Daniel I. A. Cohen, Wiley India, 2ndEdition, 2007;
ISBN-10: 8126513349.
2. Automata, Computability and Complexity: Theory and Applications, by Elaine Rich, Pearson, 1 stEdition, 2007;
ISBN-10: 0132288060.
3. An Introduction to Formal Languages and Automata by Peter Linz, Jones& Bartlett Publishers, 4th Edition, 2006; ISBN-
10: 144961552X.
Mobile Application Development
Credit Hours: 3 Course Code: SENG-3111 Prerequisites: None
Course Learning Outcomes (CLOs):
At the end of the course, the students will be able to: Domain BT Level*
1. Understand layout management and multi-layout definition techniques to create
C 2
adaptable user interfaces for mobile applications that share a common data model.
2. Explain how to manage user data and multimedia on a mobile device via the
C 2
Android framework libraries.
3. Use the Sensors available on mobile devices to enhance user interaction and
C 3
feedback.
4. Publish Applications to the Google play store. C 4
*
BT= Bloom’s Taxonomy, C=Cognitive Domain, P=Psychomotor Domain, A=Affective Domain
Course Contents:
Logistics, Development Environment, Intents, Fragments, Lists, Action Bars, Databases and Content Providers,
Error Handling, Gradle Details, Saving Instance Data, Themes and Styles, Graphics, Manipulation of Graphics,
Services, RESTful Web Services, Maps, Sensors, NFC, Files, Preferences, Recycler-View and Card-View,
Notifications, Widgets and Broadcast Receivers, Permissions, Property Animation, Navigation, HTML
Applications, Barcode and QR-Code Reading, Speech, Date and time Pickers, Applications Publishing.
Teaching Methodology:
Lectures, Written Assignments, Practical labs, Semester Project, Presentations.
Course Assessment:
Mid Term Exam, Home Assignments, Quizzes, Project, Presentations, Final Exam.
Reference Material:
1. Code Complete: A Practical Handbook of Software Construction by Steve McConnell, Microsoft Press, 2 nd Edition, 2004,
ISBN-13: 978-0735619678
2. PeopleSoft People Tools: Mobile Applications Development (Oracle Press) by Jim J Marion, Sarah K Marion, McGraw-
Hill Education, 1st Edition, 2015, ISBN-13: 978-0071836524
3. Android Application Development Cookbook by Rick Boyer and Kyle Mew, Packt Publishing, 2nd Revised Edition, 2016,
ISBN: 13: 978-1785886195
Web Programming
Credit Hours: 3 Course Code: COSC-5101 Prerequisites:
Course Learning Outcomes (CLOs):
At the end of the course, the students will be able to:
1. Utilize a variety of basic programming structures (variables, loops, functions etc.)in a popular scripting
environment on a web server.
2. Create scripts that dynamically generate web pages containing valid HTML (Hypertext Markup Language)
clearly separating structure, presentation, and behavior in the web browser.
3. Develop scripts that validate form input on the server.
4. Identify the different issues faced by web developers such as security, file management, and web standards-
compliancy.
5. Develop a complete market-ready database-driven website with HTML, CSS, JavaScript, jQuery, PHP &
MySQL and go through the basic phases of the software life cycle
Course Contents:
Introduction to course , outcomes Aims objective. Introduction to Web, Web applications Introduction to Database
and its types Introduction languages , scripting languages, Purpose of PHP MySQL Why use PHP and MySQL? The
PHP programming environment Overview of SQL, Setting up the Environment Decisions about a testing
environment WAMP/MAMP Installing Apache, PHP and MySQL on your computer Testing on a remote Server
Deciding on Development tools Using PHP MyAdmin, Overview of PHP Setting up a PHP page, The importance of
comments Using single and double quotes/ Comments, Variables in PHP Using loose typed variables Assigning
variables Overview of numeric, string and other types Assigning a variable to itself ,Global Variables & Data Types
Global Variables in PHP Data Types in PHP. Types casting ,Super Global Variables in Php $GLOBLAS $SERVER
$_POST $_GET $_POST , Php Operators Arithmetic operators Logical operators Comparisons Operator precedence,
Numbers in PHP Making calculations Using built-in numeric functions Incrementing and decrementing, Introduction
to Strings and its function Concatenating strings Trimming strings Removing slashes and other harmful characters
String functions, Introduction to Arrays and multidimensional Arrays Numerically Indexed Array Associative Arrays
Sorting Arrays Recording Arrays, Control structures in PHP The If statement FOR loops While loops The Switch,
Transferring information between PHP pages GET and POST Different form field types Self-referencing forms Form
handlers, Database fundamentals/Databases with Php Structuring a database Using tables Table relationships
Common data types, Creating a database Using PHPmyAdmin Adding a table Populating a table with types and data
Browsing a table ,Getting PHP to connect to MySQL, Querying MySQL using PHP/ Retrieving from database
Writing SQL queries Using Select, Insert, Update and Delete Querying MySQL and returning results Interpreting
the returned array, Introduction to Cookies & Sessions in PHP Differences How sessions are more secure than cookie
Session needs extra spaces , unlike cookie Session start() Creating cookies, Project/ Building a Web Application
Creating pages to: Add entries Modify entries List entries Filter entries
Teaching Methodology:
Lectures, Power Point Slides, Interactive Sessions, Extra Material, Projects, Presentations

Course Assessment:
Midterm Exam, Quizzes, Home Assignments, Projects, Presentations, Final Exam

Reference Material:
1. The Joy of PHP Programming: A Beginner’s Guide to Programming Interactive Web Applications with PHP
and MySQL by Alan Forbes, 5th Edition, 2020.
2. PHP & MySQL Novice to Ninja by Tom Butler & Kevin Yank, SitePoint, 6th Edition, 2018.
3. Learning PHP, MySQL & JavaScript: With jQuery, CSS & HTML5 by Robin Nixon , Oreilly, 5th Edition,
2018.
Artificial Intelligence
Credit Hours: 3+1 Course Code: COSC-3112 Prerequisites: COSC-1103
Course Learning Outcomes (CLOs):

At the end of the course, the students will be able to: Domain BT Level*

1. Understand key components in the field of artificial intelligence C 2


2. Analyze artificial intelligence techniques for practical problem solving C 3

3. Install/Establish Implement classical artificial intelligence techniques C 4


*
BT= Bloom’s Taxonomy, C=Cognitive Domain, P=Psychomotor Domain, A=Affective Domain

Course Contents:
Introduction to AI, basic component of AI, Identifying AI systems, branches of AI, Reasoning and Knowledge
Representation of AI, Introduction to Reasoning and Knowledge Representation, Propositional Logic, First order
Logic, Problem Solving by Searching (Informed searching, Uninformed searching, Local searching.), Constraint
Satisfaction Problems, Adversarial Search (Min-max algorithm, Alpha beta pruning, Game-playing), Learning
Unsupervised learning, Supervised learning, Reinforcement learning, Uncertainty handling, Uncertainty in AI,
Fuzzy logic, Recent trends in AI and applications of AI algorithms, Case study of AI systems, Analysis of AI
systems
Teaching Methodology:
Lectures, Written Assignments, Practical labs, Semester Project, Presentations.

Course Assessment:
Mid Term Exam, Home Assignments, Quizzes, Project, Presentations, Final Exam.

Reference Material:
1. Artificial Intelligence. A Modern Approach, Stuart Russell and Peter Norvig, 3 rd Edition, Prentice Hall, Inc., 2010; ISBN-
10: 0136042597
2. Pattern classification. Hart, P.E., Stork, D.G. and Duda, John Willey & Sons, ISBN-10: 0471056693
3. AI algorithms, data structures, and idioms in Prolog, Lisp, and Java, Luger, G.F. and Stubblefield, W.A., 2009. Pearson
Addison-Wesley, ISBN-10: 0136070477
Compiler Construction
Credit Hours: 3 Course Code: COSC-3104 Prerequisites: COSC-2105
Course Learning Outcomes (CLOs):
At the end of the course, the students will be able to: Domain BT Level*
1. Understand semantic analysis including static checking, intermediate
C 3
representations and attribute grammars
2. Analyse different compiler optimization techniques C 4
3. Perform lexical analysis C 5
4. Perform parsing techniques using parsing generators C 5
5. Design and implement a compiler for a small language C 6
*
BT= Bloom’s Taxonomy, C=Cognitive Domain, P=Psychomotor Domain, A=Affective Domain
Course Contents:
Introduction to Compilers, The Phases of Compiler, Cousins of Compiler, Grouping of Phases, Compiler
Construction Tools, Simple One-Pass Compiler, Syntax Definition and Translation, Parsing, A Translator for
Simple Expression, Lexical Analysis, Incorporation of Symbol Table, Abstract Stack Machine, Synthesis of
Techniques, Lexical Analyzer, Input Buffering, Token Specification and Recognition, Language Specifying Lexical
Analyzers, Automata, Deterministic and Non-Deterministic Automata (NFA), Conversion from Regular
Expression to NFA, Design of Lexical Analyzer Generator, Pattern Matching, Optimization of DFA-Based Pattern
Matchers, Syntax Analysis, The Role of Parsers, Context Free Grammar, Writing Grammar, Top Down and
Bottom-Up Parsing, Operator Precedence Parsing, LR Parsers, Removing Ambiguities in Context Free Grammar,
Parser Generators, Problems Solving, Syntax Directed Definition, Construction of Syntax Trees, Bottom-Up
Evaluation of S-Attributed Definitions, L-Attributed Definition, Top Down Translation, Bottom-Up Evaluation,
Recursion, Type Checking, Type Systems, Specification of Simple Type Checker, Equivalence of Type Expression,
Type Conversion, Intermediate Code Generation and Optimization

Teaching Methodology:
Lectures, Written Assignments, Practical labs, Semester Project, Presentations.
Course Assessment:
Mid Term Exam, Home Assignments, Quizzes, Project, Presentations, Final Exam.
Reference Material:
1. Compilers: Principles, Techniques and Tools, A. V. Aho, R. Sethi and J. D. Ullman, Addison-Wesley; 2nd Edition 2006;
ISBN-10: 0321486811
2. Modern Compiler Design, D. Grune, H. E. Bal, C. J. H. Jacobs, K. G. Langendoen, John Wiley, 2nd Edition, 2012; ISBN-
10: 1461446988
3. Modern Compiler Implementation in C by A. W. Appel, M. Ginsburg, Cambridge University Press, 2004. ISBN-10:
0521607655
Visual Programming
Credit Hours: 3 Course Code: SENG-4115 Prerequisites: None
Course Learning Outcomes (CLOs):
At the end of the course, the students will be able to: Domain BT Level*
1. Understand the different elements of a visual programming language as building
C 2
blocks to develop correct, coherent programs.
2. Program using the fundamental software development process, including design,
C 2
coding, documentation, testing and debugging.
3. Implement syntax rules in Visual Basic programs and explain variables and data
C 3
types used in program development
4. Analyze problems, develop conceptual designs that solve those problems, and
C 4
transform those designs to Visual Programs
*
BT= Bloom’s Taxonomy, C=Cognitive Domain, P=Psychomotor Domain, A=Affective Domain
Course Contents:
Visual Programming Basics, Introduction to Events, Fundamentals of Event-Driven, Programming, Message
Handling, User Interfaces, Graphics Device Interface, Painting and Drawing, Windows Management, Input
Devices, Resources, String and Menu Resource, Dialogs and Windows Controls, Common Controls, Dynamic Link
Libraries, Threads and Synchronization, Network Programming, Building Class Libraries at the Command Line,
Class Libraries, Using References, Assemblies, Private Assembly Deployment, Shared Assembly Deployment,
Configuration Overview, Configuration Files, Programmatic Access to Configuration, Using SDK Tools for
Signing and Deployment, Metadata, Reflection, Late Binding, Directories, Files, Serialization, Attributes, Memory
Management and Garbage Collection, Threading and Synchronization, Asynchronous Delegates, Application
Domains, Marshal by Value, Marshal by Reference, Authentication and Authorization, Configuring Security, Code
Access Security, Code Groups, Evidence, Permissions, Role-Based Security, Principals And Identities, Using Data
Readers, Using Data Sets, Interacting With XML Data, Tracing Event Logs, Using the Boolean Switch and Trace
Switch Classes, Print Debugging Information with the Debug Class, Instrumenting Release Builds with the Trace
Class, Using Listeners, Implementing Custom Listeners.
Teaching Methodology:
Lectures, Written Assignments, Practical labs, Semester Project, Presentations.
Course Assessment:
Mid Term Exam, Home Assignments, Quizzes, Project, Presentations, Final Exam.
Reference Material:
1. Visual C#: How to Program by Deitel and Deitel, Pearson; 6th Edition, 2016. ISBN-10: 0134601548,ISBN-13:
978- 0134601540
2. Programming in Visual C# 2008 by Julia Case Bradley and Anita Millspaugh , McGraw-Hill Education; 3rd
Edition, 2009.ISBN-10: 0073517216,ISBN-13: 978-0073517216
3. Microsoft Visual C# 2013 Step by Step by John Sharp, Microsoft Press; 1st Edition , 2013. ISBN-10:
073568183X, ISBN-13: 978-0735681835
Routing & Switching
Credit Hours: 3 Course Code: INFT-4107 Prerequisites: COSC-3101
Course Learning Outcomes (CLOs):
At the end of the course, the students will be able to: Domain BT Level*
1. Understand basic switching concepts and the operation of switches. C 1
2. Describe enhanced switching technologies such as VLANs, VLAN Trunking
Protocol (VTP), Rapid Spanning Tree Protocol (RSTP), Per VLAN Spanning Tree C 2
Protocol (PVSTP), and 802.1q.
3. Analyze basic operations of a small switched network. C 3
4. Configure basic operations of routers in a small routed network: A. Routing
Information Protocol (RIPv1 and RIPv2) B. Open Shortest Path First (OSPF) C 4
protocol (single-area OSPF).
5. Troubleshoot basic operations of routers in a small routed network. C 5
*
BT= Bloom’s Taxonomy, C=Cognitive Domain, P=Psychomotor Domain, A=Affective Domain
Course Contents:
Introduction to Switched Networks, Basic Switching Concepts and Configuration, Spanning TreeProtocol,
Optimizing Spanning Tree, Protecting STP,Etherchannel and HSRP, Troubleshooting Complex Layer 2 Issues,
IPV4 and IPV6 Addressing, VLANs, Routing Concepts, Inter-VLAN Routing, Static Routing, Dynamic Routing,
RIP, EIGRP, OSPF, Fundamentals of BGP Operations. BGP Routing Policies. Wide Area Network. IP
Multicasting. IP Multicast Routing, AccessControl Lists, DHCP, Network Address Translation for IPv4,
Hierarchical Network Design, Connecting to the WAN, Point-to-Point Connections, Frame Relay, Broadband
Solutions, Securing Site-to-Site Connectivity, Monitoring the Network, Troubleshooting the Network.

Teaching Methodology:
Lectures, Written Assignments, Practical labs, Semester Project, Presentations.
Course Assessment:
Mid Term Exam, Home Assignments, Quizzes, Project, Presentations, Final Exam.
Reference Material:
1. Packet Guide to Routing and Switching by Bruce Hartpence, O'Reilly Media, 1 st Edition, 2011;
ISBN-10: 1449306551
2. CCIE Routing and Switching v4.0 Quick Reference by Brad Ellis, Jacob Uecker and Steven Means, Cisco Press, 2 nd
Edition, 2010;ISBN-13: 978-1-58714-163-8
3. CCIE Routing and Switching Certification Guide by Wendell Odom, Rus Healy and Denise Donohue, Cisco Press;
4thEdition, 2009; ISBN-10: 1587059800
Communication Skills
Course Code: ENGL-1119
Credit Hours: 3
Objectives: Enable the students to meet their real life communication needs.
Course Contents
 Introduction to Communication Skills

 Communication Skills: An overview


 Importance in Real , academic, professional lives
 Types of Communication

 Styles of communication
 Art of Questioning

 Principles of communication 7c’s


 Barriers to Communications

 Importance of Feed Back


 Feed Back and Giving Constructive Feedback
 Reading Skills
 Tools & Factors of Communication
 Communication and Information gaps

 Types of communication: Verbal-Non verbal


 Verbal Communication
 Non-Verbal Communication
 Listening & Speaking Skills
 Cover letter & Resume
 Library Skills

Recommended Books:
Communication Skills
a) Grammar
1. Practical English Grammar by A.J. Thomson and A.V. Martinet.
Exercises 2. Third edition. Oxford University Press 1986. ISBN 0 19 431350 6.
b) Writing
1. Writing. Intermediate by Marie-Chrisitine Boutin, Suzanne Brinand and
Francoise Grellet. Oxford Supplementary Skills. Fourth Impression 1993.
ISBN 019 435405 7 Pages 45-53 (note taking).
2. Writing. Upper-Intermediate by Rob Nolasco. Oxford Supplementary Skills.
Fourth Impression 1992. ISBN 0 19 4354065 (particularly good for writing
memos, introduction to presentations, descriptive and argumentative writing).
c) Reading
1. Reading. Advanced. Brian Tomlinson and Rod Ellis. Oxford Supplementary
Skills. Third Impression 1991. ISBN 0 19 4534030.
2. Reading and Study Skills by John Langan
3. Study Skills by Riachard York

You might also like