You are on page 1of 15

MCS

SECOND SEMESTER
Detailed course outlines of MCS second semester designed
for the Department of Computer Science and IT, IUB.

The Islamia University of Bahawalpur


Tel +62 925 5466 Department of Computer Science & IT, www.iub.edu.pk
Fax +62 925 5467 Baghdad ul Jadeed Campus imran.sarwar@iub.edi.pk
Table of Contents

Contents
CSIT-21201: Data Structure and Algorithms ________________________________________ 1
CSIT-21202: Data Com. and Networking __________________________________________ 3
CSIT-21303: Web Programing __________________________________________________ 5
CSIT-21304: Objected Oriented Programming ______________________________________ 7
CSIT-21205: Distributed Database Systems _______________________________________ 9
CSIT-21206: Software Engineering I ____________________________________________ 11
Contact Information __________________________________________________________ 13
Pg. 01 MCS – 2nd Semester

CSIT-21201: CSIT-21201: Data Structure and Algorithms


Data Structure and
Algorithms (using
Course Objectives: A study of advanced programming topics focused on logical structures
C/C++)
of data, their physical representation, design and analysis of algorithms operating on the
structures, and techniques for program development and debugging. Emphasis is placed on the
Credit Hours:
appropriate use and choice of standard data structures.
3(2-1)
Pre-Requisites: Programming Fundamentals
Pre-Requisites:
Text Books:
Programming
1. Data Structures and Algorithm Analysis by Mark Allen Weiss, Florida International
Fundamentals University, Addison-Wesley (latest Edition)
Reference Books:
1. Algorithms, Robert Sedgewick, Princeton University Publisher: Addison-Wesley
Professional (latest Edition)
2. Data Structures and Algorithms in C++, Adam Drozdek, Course Technology; 4th Edition,
2012.

Course Outline: Mid Term


Week Course Contents
Week 1 Introduction to algorithms: pseudo code,
Pointers and arrays,
Structures, etc.

Week 2 Prefix, Infix, Postfix equations,


Abstract Data Types,
Linear Data structures: Stack, Queue, etc.

Week 3 Stacks: Top of stack, Push() and Pop(), Top(), Empty() operations,
Implementing stack with arrays,
Implementing stacks with pointers

Week 4 Queues: Back, Front of queue, Enqueue(), Dequeue(), Peek(), Empty()


operations,
Implementing queue with arrays,
Implementing queue with pointers

Week 5 Types of Queues: Circular queue,


Priority Queue

Week 6 MID TERM


Pg. 02 MCS – 2nd Semester

CSIT-21201: Course Outline: Final Term


Data Structure and Week Course Contents
Algorithms (using Week 7 Link-Lists: Single Link List,
Insertion, Deletion,
C/C++) Searching in link list,
Implement single Link List with pointers
Credit Hours: Week 8 Double Link List, Insertion, Deletion,
3(2-1) Searching in double link list,
Implement double Link List with pointers
Pre-Requisites: Week 9 Non-linear Data Structures: Binary trees, Tree height.
Programming Tree Traversal (In-Order, Pre-Order, Post-order)

Fundamentals Week 10 Implement binary tree using double Link List,


Binary search trees

Week 11 Non-linear Data Structures: Graph, Directed graph, weighted graph, Adjacent
nodes, Graph traversal Heaps, Path algorithms: depth-first and breadth-first
searches

Week 12 Hashing: Hash function, hash key,


Collision, Collision Resolution,
Collision Resolution Techniques: Linear Probing, Quadratic probing, Chaining

Week 13 Searching: Linear search and Binary search


Finding minimum and maximum

Week 14 Sorting: Linear sort,


Insertion sort,
Merge sort

Week 15 Sorting: Selection sort,


Quick sort

Week 16 FINAL TERM

×-×-×-×-×-×-×-×-×
Pg. 03 MCS – 2nd Semester

CSIT-21202: CSIT-21202: Data Com. and Networking


Data
Communication
and Networking Course Objectives: Design and Evaluation of computer networks using current trends in
hardware and software. Data communication basic concepts, layered network models is studied.
Credit Hours: Digital and analogue signals, encoding and modulating, transmission media, error detection and
3(3-0) correction, data link control, local area networks. This course provides introduce fundamentals
of data and computer communications and provide the student with a conceptual foundation for
Pre-Requisites: the study of data communications using the open system interconnection (OSI) layered
None architecture model.

Pre-Requisites: None

Text Book:
1. Data Communications and Networking by Behrouz A. Forouzan, 5th edition, 2013

Reference Materials:
1. Computer Networks by A. S. Tanenbaum, D. J. Wetherall, 5th Edition Prentice Hall 2010
2. Data and Computer Communications by William Stallings 9th Edition 2011

Course Outline: Mid Term

Week Course Contents


Week 1 Data Communication Concepts:
Analog & Digital Signals
Networks and open system standards: the OSI reference model

Week 2 Network topologies and the physical layer


Bus/Tree topology, ring topology, star topology
Digital to Digital Conversion
Analog to Digital Conversion

Week 3 Transmission Media and Transmission Technologies


Transmission Impairment
Transmission Modes

Week 4 Baseband and broadband transmission


Transmission bandwidth (link capacity) Codes
Analog and digital signals
Modulation and demodulation,

Week 5 Bandwidth Utilization, Multiplexing & Spreading


Error detection and Correction

Week 6 MID TERM


Pg. 04 MCS – 2nd Semester

Course Outline: Final Term


CSIT-21202:
Data Week Course Contents
Week 7 Data Transmission,
Communication Transmission modes: Simplex, half-duplex, full-duplex communications,
and Networking Serial and parallel transmission

Week 8 Synchronous transmission: Asynchronous transmission,


Credit Hours: Interface standards,
3(3-0) Multiplexing of signals,
Data compression
Pre-Requisites: Week 9 Protocol Concepts - Media Access Control,
None MAC protocols (CSMA/CD and Token passing)

Week 10 Local Area Networks


LAN standards (IEEE standards 802 for LANs)
Interconnecting LANs
LAN Hardware (server platforms, backup devices, LAN adapters, printers, etc.)
LAN system software, LAN application software

Week 11 Metropolitan Area Networks (MANs) and Wide Area Networks (WANs)
Circuit-switched data network
Packet-switched data network
ISDN
Electronic mail

Week 12 Digital Subscriber Line


Traditional & HFC Cable TV Network

Week 13 Network Layer Protocols- Internet Protocol (IP)


Routing Information Protocol(RIP)

Week 14 Transport layer protocols- TCP/IP, UDP


Application Layer Protocol- FTP, SMTP

Week 15 Data Security and Integrity


Error detection and correction
Encryption and decryption
Viruses, worms, and hacking

Week 16 FINAL TERM

×-×-×-×-×-×-×-×-×
Pg. 05 MCS – 2nd Semester

CSIT-21303: CSIT-21303: Web Programing


Web Programming

Credit Hours: Course Objectives: This course is designed to provide the student with foundational
3(2-1) programming knowledge and skills for application development on the Internet. The student will
learn about the Web as a development platform through the use of popular representative
Pre-Requisites: languages (such as PHP). The student will learn to plan, design, construct, and integrate basic
None server-side components of modern web applications including databases and scripts.

Pre-Requisites: None

Text Book:
1. Programming PHP, Creating Dynamic Web Pages, By Kevin Tatroe, Peter MacIntyre,
Rasmus Lerdorf , 3rd Edition, O'Reilly Media, February 2013,

Reference Books:
1. Mastering PHP, Jeremy Allen and Charles Hornberger, Latest Edition, SYBEX,

Course Outline: Mid Term


Week Course Contents
Week 1 Overview of Web Applications
HTML Basics: basic Tags,
Formatting Text,
Creating Links,
Adding Images

Week 2 HTML: Lists


Tables
Frames
Forms

Week 3 Cascading Style Sheets

Week 4 JavaScript Language


JQuery

Week 5 Document Object Model


Dynamic HTML

Week 6 MID TERM


Pg. 06 MCS – 2nd Semester

CSIT-21303: Course Outline: Final Term


Web Programming
Week Course Contents
Week 7 Overview of static and dynamic web pages,
Credit Hours: Overview of server-side and client-side programming
3(2-1) Dynamic web pages

Week 8 Server-side scripting with inline code using procedural


Pre-Requisites: programming techniques
None Form input validation on the server-side

Week 9 Creating basic PHP scripts


PHP data types and operators
Functions and control structures

Week 10 Manipulating strings


Working with files and directories
Manipulating arrays

Week 11 Installing MySQL


Introduction to MySQL database
Using phpMyAdmin - 2.2.x
Manipulating MySQL database with PHP

Week 12 Programming web forms that connect with


web-enabled databases and perform basic database operations

Week 13 Authentication in PHP


Security considerations
Cookies

Week 14 PHP with XML and AJAX


Web Services with PHP

Week 15 Introduction to Joomla (CMS)


Introduction to Drupal (CMS)
Introduction to Wordpress (Blog)

Week 16 FINAL TERM


Pg. 07 MCS – 2nd Semester

CSIT-21304: CSIT-21304: Objected Oriented Programming


Object Oriented
Programming
(using Java) Course Objectives: This subject introduces the student to object-oriented programming. The
student learns to build reusable objects, encapsulate data and logic within a class, inherit one
Credit Hour: class from another and implement polymorphism. This subject uses the concepts of C++
3(2-1) programming language exclusively and establishes a foundation for learning system analysis
and design and more advanced concepts as implemented in modern programming languages.
Pre-Requisites:
Pre-Requisites: Programming Fundamentals
Programming
Fundamentals Text Book:
1. Java 2: The Complete Reference by Schildt (Latest Edition), Tata McGraw-Hill
Education, 2002, ISBN: 0070495432

Reference Materials:
2. Object Oriented Programming using Java by S. Candal (Latest Edition), ISBN:978-87-
7681-501-1
3. Thinking in Java by Bruce Eckel, Latest Edition, ISBN-10: 0131872486

Course Outline: Mid Term


Week Course Contents
Week 1 Introduction: Complexity, Languages, Object Terminology,
Objects and Classes in Java,
OOP Principles: Encapsulation, Inheritance, Polymorphism

Week 2 Platform Independence in Java,


Java as a high performance language
Java in the world of distributed computing, JDK,
Stages of Compilation

Week 3 Introduction to Eclipse Environment,


Create a Java project and class,
Compile the source file, Run the application, The main method

Week 4 Basic Constructs: Variables and data types,


Operators and Expressions,
If-Else and Switch in Java

Week 5 Control flow statements,


Arrays and strings in Java

Week 6 MID TERM


Pg. 08 MCS – 2nd Semester

CSIT-21304: Course Outline: Final Term


Object Oriented Week Course Contents
Programming Week 7 Review of Classes: Controlling access to methods,
Constructors,
(using Java) The static Keyword,
The this statement
Credit Hour:
3(2-1) Week 8 Final instance variables,
Garbage collection and method finalize,
Package access,
Pre-Requisites:
Week 9 Inheritance: An introduction to inheritance,
Programming Superclasses and subclasses
Fundamentals Protected members,
The super keyword,
The final Keyword

Week 10 Polymorphism: Constructor Overloading,


Method Overloading,
Method Overriding,
Dynamic/runtime polymorphism

Week 11 Abstraction: Introduction and examples,


Abstract classes and methods,
Final methods and classes,
Creating and using interfaces,
Multi-level vs. Multiple Inheritance

Week 12 Exception handling: When to use exception handling, Try-Catch block, Java
exception hierarchy, Finally block, Declaring new exception types

Week 13 IO Streams: Introduction, Byte streams: FileInputStream,


FileOutputStream, BufferendInputStream, BufferedOutputStream,
Character steams: FileReader, FileWriter, BufferedReader,
BufferedWriter, File modes: read, write, append; Buffered streams

Week 14 String Handling: String vs. array of character, String variable vs. String object,
length(), concat(), format(), charAt(), indexOf(),
endsWith(), startsWith(), getBytes(), toCharArray(),
compareTo(), compareToIgnoreCase(),trim().

Week 15 Multithreading: Thread states: life cycle of a thread,


Thread priorities and scheduling,
Creating and executing threads

Week 16 FINAL TERM


Pg. 09 MCS – 2nd Semester

CSIT-21205: CSIT-21205: Distributed Database Systems


Distributed
Database Systems Course Objectives: This course will deal with the fundamental issues in large distributed
systems which are motivated by the computer networking and distribution of processors, and
Credit Hour: control. This course exclusively focuses on the design and system issues related to distributed
03(3-0) database systems. Students will learn the usage of different design strategies for distributed
databases, and they will study query processing techniques and algorithms as well as
Pre-Requisites: transaction management and concurrency control concepts used in such systems. Design and
Database Systems implementation issues related to multi-database systems are discussed as well.

Pre-Requisites: None

Text Book:
1. Principles of Distributed Database Systems by M.T. Ozsu, P. Valduriez (eds.): (2nd
Edition), Prentice Hall, 1999.

Reference Materials:
1. Transactional Information Systems by G. Weikum and G. Vossen, Morgan Kaufmann,
2002.

Course Outline: Mid Term


Week Course Contents
Week 1 Introduction to distributed database systems (DDBMS),
Architectural models,
DBMS architecturs

Week 2 Distributed database design strategies,


Design issues

Week 3 Fragmentation: Horizontal Fragmentation, Vertical Fragmentation,


Replication,
view management

Week 4 Introduction to Transaction Management,


Distributed Concurrency Control

Week 5 Data Security,


Semantic integrity control

Week 6 MID TERM


Pg. 10 MCS – 2nd Semester

CSIT-21205: Course Outline: Final Term


Distributed Week Course Contents
Database Systems Week 7 Distributed query processing problems,
Query decomposition
Credit Hour: Week 8 Localization of distributed data,
03(3-0) Join ordering in fragment queries

Week 9 Query optimization


Pre-Requisites: Distributed query optimization algorithms
Database Systems
Week 10 Serializability theory,
Locked-based and timestamp-based algorithms,
Optimistic algorithms,

Week 11 Deadlock management


Reliability concepts and measures
Failures in DDBMS

Week 12 Local reliability protocols


Distributed reliability protocols
Dealing with site failures

Week 13 Network partitioning,


Database integration,
Data processing in multi-databases and inter-operability issues

Week 14 Security in distributed systems,


Privacy issues in Peer to Peer systems,
Trusted collaboration and dissemination of data among cooperative entities

Week 15 Design and Implementation of Prototype/commercial systems,


Experimental Evaluations.

Week 16 FINAL TERM


Pg. 11 MCS – 2nd Semester

CSIT-31206: CSIT-21206: Software Engineering I


Software
Engineering - I Course Objectives: This course is aimed at helping students build up an understanding of
how to develop a software system from scratch by guiding them thru the development process
Credit Hour: and giving them the fundamental principles of system development with object oriented
03(3-0) technology using UML. The course will initiate students to the different software process
models, project management, software requirements engineering process, systems analysis
Pre-Requisites: and design as a problem-solving activity, key elements of analysis and design, and the place
None of the analysis and design phases within the system development life cycle.

Pre-Requisites: None

Books Prescribed:
1. Software Engineering by Ian Sommerville, Addison Wesley; (Latest Edition). ISBN-10:
0321313798
2. Software Engineering: A Practitioner's Approach by Roger S. Pressman, McGraw-Hill
Science/Engineering/Math; (Latest Edition). ISBN-10: 0073375977

Course Outline: Mid Term


Week Course Contents
Week 1 Introduction: Process,
Methods and Tools, well-engineered software,
Introduction to software development,

Week 2 Software Process Models: Linear Sequential Model,


Prototyping Model,
RAD Model

Week 3 Evolutionary Software Process Models: Incremental Model,


Spiral Model,
Concurrent Programming Model

Week 4 Product Engineering: System Analysis,


Identification of Need,
Feasibility Study,
Economic Analysis,
Technical Analysis

Week 5 Modeling the System Architecture,


System Modeling and Simulation

Week 6 MID TERM


Pg. 12 MCS – 2nd Semester

CSIT-31206: Course Outline: Final Term


Software Week Course Contents
Engineering - I Week 7 Requirements Engineering: Functional and non-functional requirements,
The software requirements document,
Requirements specification,
Credit Hour: Use Case Models
03(3-0)
Week 8 Requirements engineering processes,
Requirements elicitation and analysis,
Pre-Requisites: Requirements validation,
None Requirements management

Week 9 Data Modeling: Data objects, Attributes, and relationships,


Cardinality and Modality,
E-R Diagrams

Week 10 Functional Modeling: Data Flow Diagrams, DFD Level-0, DFD Level-1, DFD
Level-2 diagrams,
User Interface and prototyping

Week 11 Object-oriented analysis and design: Object Oriented Analysis,


Object Modeling using UML,
Introduction to design patterns

Week 12 Software Testing: Development testing,


Test-driven development,
Release Testing,
User Testing

Week 13 Software Testing: Software verification and validation,


Black box testing and Equivalence partitioning,
White box testing,
Unit testing

Week 14 Software evolution: Evolution processes,


Program evolution dynamics,
Software maintenance,
Legacy system management

Week 15 Debugging: Bug classes and effective debugging,


Holistic approach to debugging

Week 16 FINAL TERM


Pg. 13 MCS – 2nd Semester

Contact Information
The Islamia University of Bahawalpur
Department of Computer Science & IT,
Baghdad ul Jadeed Campus
Tel +62 925 5466
Fax +62 925 5467
www.iub.edu.pk

You might also like