MS Computer Science
The program objectives of the master’s degree in Computer Science are:
- To prepare students for the increasingly sophisticated application of computers to the needs of industry and society.
- To prepare students for research, teaching and further graduate studies in computer science.
- To prepare students for leadership roles in their industrial career.
- To provide students with graduate level course work in computer science that supplement the curriculum in other disciplines.
The Learning outcomes of the MS (Computer Science) program are:
- Students will be able to possess advanced knowledge of Computer Science field
- Students will be able to think creatively and critically; to solve non-trivial problems
- Students will be able to use computing knowledge to develop effective solutions for real-life problems
- Students will be able to design solutions and can conduct research related activities
CSC – 5071 Advanced Algorithm Analysis
Advanced algorithm analysis including the introduction of formal techniques and the underlying mathematical theory. NP-completeness. Search Techniques. Randomized Algorithms. Heuristic and Approximation Algorithms. Topics include asymptotic analysis of upper and average complexity bounds using big-O, little-o, and theta notation. Fundamental algorithmic strategies (brute-force, greedy, divide-andconquer, backtracking, branch-and-bound, pattern matching, and numerical approximations) are covered. Also included are standard graph and tree algorithms. Additional topics include standard complexity classes, time and space tradeoffs in algorithms, using recurrence relations to analyze recursive algorithms, non-computable functions, the halting problem, and the implications of non-computability. Algorithmic animation is used to reinforce theoretical results. Upon completion of the course, students should be able to explain the mathematical concepts used in describing the complexity of an algorithm, and select and apply algorithms appropriate to a particular situation.
CSC – 5072 Advanced Operating Systems
This course will cover Introduction to Characterization of Modern Operating Systems; file systems, memory management techniques, Process scheduling and resource management. In System Models architectural models, Interprocess Communication, Issues of Security in Distributed Systems (Partial coverage) Distributed File System, Concurrency Control in Distributed Systems Problems of Coordination and Agreement in Distributed Systems eplication, Advantages and requirements, Fault-tolerant services, Mobile and Ubiquitous Computing
CSC – 5070 Advanced Computational Theory
Automata theory, formal languages, Turing machines,computability theory and reducibility, computational complexity, determinism, non-determinism, time hierarchy, space hierarchy, NP completeness, selected advanced topics.
CSC-5076 Digital Signal Processing
One- and N-dimensional signals and systems, Sampling theorem, Discrete-time Fourier transform, discrete Fourier transform, fast Fourier transform, z-transforms: stability and minimum phase signals/systems, Linear filtering of signal: Time domain: Difference equations and convolution, Impulse invariance, bilinear transform, FIR filter design, 2D filter design, Statistical signal processing: Stochastic signals: correlation functions and power density spectra, Optimal filtering: Wiener filters, Adaptive filters: LMS and array processing
CSC-5077 Parallel and Distributed Computing
Why use parallel and distributed systems? Why not use them? Speedup and Amdahl’s Law, Hardware architectures: multiprocessors (shared memory), networks of workstations (distributed memory), clusters (latest variation). Software architectures: threads and shared memory, processes and message passing, distributed shared memory (DSM), distributed shared data (DSD). Possible research and project topics, Parallel Algorithms, Concurrency and synchronization, Data and work partitioning, Common parallelization strategies, Granularity, Load balancing, Examples: parallel search, parallel sorting, etc. Shared-Memory Programming: Threads, Pthreads, Locks and semaphores, Distributed-Memory Programming: Message Passing, MPI, PVM. Other Parallel Programming Systems, Distributed shared memory, Aurora: Scoped behaviour and abstract data types, Enterprise: Process templates. Research Topics.
CSC-5078 Control Systems and Robotics
Review of classical control analysis methods. Nyquist stability criterion. Classical design using frequency domain methods, phase lead and lag controllers, PID controllers. Relay auto tuning. Introduction to state space methods. State space models, state transformations, solution of the state equations. Controllability and observability. Design using state feedback. LQR design, pole placement, use of observers. Introduction to robotics. Transducers, actuators and robot control.
CSC-5079 Real Time Operating Systems
The principles of real-time and embedded systems inherent in many hardware platforms and applications being developed for engineering and science as well as for ubiquitous systems, including robotics and manufacturing, interactive and multimedia, immersive and omnipresent applications. Real-time and quality 24 National Textile University of service system principles, understand real-time operating systems and the resource management and quality of service issues that arise, and construct sample applications on representative platforms. Platforms range from handheld and mobile computers to media and real-time server systems. Platforms may also include specialized systems used in applicationspecific contexts, such as autonomous robotics, smart sensors, and others.
CSC-5080 Advanced Networking
Review of basic concepts: The OSI Model, packet and circuit switching, network topology, ISDN. The TCP/ IP protocol stack: IP, ARP, TCP and UDP, DNS, ICMP, Internet Addressing, Routing, IP Multicast, RSVP, Next Generation IP – Ipng, Wireless: Radio basics, Satellite Systems, WAP, current trends, Issues with wireless over TCP. Congestion Control: Control vs. Avoidance. Algorithms, Congestion in the Internet. Mobile IP, Voice over IP (VoIP), VPNs, Network Security. Management: Quality of Service (QoS), network vs. distributed systems management Protocols, web-based management
CSC-5081 Network Security
Introduction; Cryptology and simple cryptosystems; Conventional encryption techniques; Stream and block ciphers; DES; More on Block Ciphers; The Advanced Encryption Standard. Confidentiality & Message authentication: Hash functions; Number theory and algorithm complexity; Public key Encryption. RSA and Discrete Logarithms; Elliptic curves; Digital signatures. Key management schemes; Identification schemes; Dial-up security. E-mail security, PGP, S-MIME; Kerberos and directory authentication. Emerging Internet security standards; SET; SSL and IPsec; VPNs; Firewalls; Viruses; Miscellaneous topics
CSC-5082 Topics in Computer Networking
This course offers an advanced introduction and research perspectives in the areas of switch/router architectures, scheduling for best-effort and guaranteed services, QoS mechanisms and architectures, web protocols and applications, network interface design, optical networking, and network economics. The course also includes a research project in computer networking involving literature survey, critical analysis, and finally, an original and novel research contribution. Typical topics can be listed below: Overview of packet switching networks and devices. Fundamentals of Internet Protocol (IP) networking. Route lookup algorithms. Router architecture and performance. Detailed operation of Internet routing protocols such as Open Shortest Path First (OSPF) and Border Gateway Protocol (BGP). Integrated and differentiated network service models. Traffic Engineering (TE) concepts and mechanisms
including label assignment, label distribution, and constraint-based routing algorithms. Multi-protocol label switching and its generalization. Quality of service mechanisms for multimedia and real-time communications. TE-based routing and signalling protocols. Fundamentals of per-flow and aggregate scheduling algorithms. Application-level and networklevel signalling protocols for data, voice, and video communications. Resource signalling and resource
reservation protocols. Worst-case analysis for multimedia networking
CSC-5083 Network Administration
Through completion of this course, students will be able to plan, install, and configure a Web Server, manage, monitor, and optimize a Web Server, and design and implement a Web Site on the Web Server created
CSC-5074 Wireless Networks
This course covers fundamental techniques in design and operation of first, second, and third generation wireless networks: cellular systems, medium access techniques, radio propagation models, error control techniques, handoff, power control, common air protocols (AMPS, IS-95, IS-136, GSM, GPRS, EDGE, WCDMA, cdma2000, etc), radio resource and network management. As an example for the third generation air interfaces, WCDMA is discussed in detail since it is expected to have a large impact on future wireless networks. This course is intended for graduate students who have some background on computer networks
CSC-5084 Network Performance Evaluation
This is an advanced course in networks and protocols. Analytical, simulation and experimental methods should be used to evaluate and design networks and protocols. Investigate network management tools and techniques
CSC-5085 Theory of Programming Languages
Introduction and History, Syntax and Semantics, Control Structures, Types, Logic Programming, Functional Programming and Lambda calculus, Concurrent and Distributed Programming, Dataflow, Object-oriented Programming.
CSC-5086 Advanced Compiler Design I
An in-depth study of compiler backend design for high-performance architectures. Topics include control-flow and data-flow analysis, classical optimization, instruction scheduling, and register allocation. Advanced topics include memory hierarchy management, optimization for instruction-level parallelism, modulo scheduling, predicated and speculative execution. The class focus is processorspecific compilation techniques, thus familiarity with both computer architecture and compilers is recommended
CSC-5087 Advanced Compiler Design II
CSC-5088 Intelligent User Interfaces
The increasing complexity of software and the proliferation of information makes intelligent user interfaces increasingly important. The promise of interfaces that are knowledgeable, senstitive to our needs, agile, and genuinely useful has motivated research across the world to advance the state of the art and practice in user interfaces that exhibit intelligence. The text covers the topic well (CSC-5089)Multimedia Database Introduction; Overview of Relational and ObjectRelational Data Representations; Text/Document Databases; Multidimensional Data Structures, similarity based search (spatial, image, audio); XML Databases; Temporal Data Models; Logical Frameworks
CSC-5090 Computer Vision
Concepts behind computer-based recognition and extraction of features from raster images. applications of vision systems and their limitations. Overview of early, intermediate and high level vision,Segmentation: region splitting and merging; quadtree structures for segmentation; mean and variance pyramids; computing the first and second derivatives of images using the isotropic, Sobel and Laplacian operators; grouping edge points into straight lines by means of the Hough transform; limitations of the Hough transform; parameterisation of conic sections. Perceptual grouping: failure of the Hough transform; perceptual criteria; improved Hough transform with perceptual features; grouping line segments into curves. Overview of mammalian vision: experimental results of Hubel and Weisel; analogy to edge point detection and Hough transform; Relaxation labelling of images: detection of image features; Grouping of contours and straight lines into higher order features such as vertices and facets. Depth measurement in images
CSC-5091 Rich Internet Applications
This course covers the concept and technology evolution regarding the internet applications and the use of interface tools. Mainly, the course can focus on any one of the technologies of modern day, for example, macromedia’s FLASH. However, the course will use the concepts of data structures, object oriented programming, programming languages and the software design and engineering to develop projects of medium to large magnitude
CSC-5092 Requirement Engineering
Definition of requirements engineering and role in system development, Fundamental concepts and activities of requirements engineering, Information elicitation techniques, Modeling scenarios Fundamentals of goal-oriented requirements engineering, Modeling behavioral goals, Modeling quality goals, Goal modeling heuristics, Object modeling for requirements engineering, Object modeling notations, Object modeling heuristics, Identifying objects from goals, Modeling use cases and state machines, Deriving operational requirements from goals, Requirements Specification, Requirements verification and validation Management of inconsistency and conflict, requirements engineering risks, the role of quality goals in the requirements selection process, Techniques for requirements evaluation, selection and prioritization; Requirements management; Requirements traceability and impact analysis.
CSC-5093 Software System Architecture
Definition and overview of software architecture, 26 National Textile University the architecture business cycle, Understanding and achieving quality attributes, Attribute-driven design, Documenting software architecture, Evaluating software architecture, Architecture reuse Life-cycle view of architecture design and analysis methods, The QAW, a method for eliciting critical quality attributes, such as availability, performance, security, interoperability, and modifiability, Architecture Driven Design, Evaluating a software architecture (ATAM, CBAM, ARID), Principles of sound documentation, View types, styles, and views; Advanced concepts such as refinement, context diagrams, variability, software interfaces, and how to document interfaces; Documenting the behavior of software elements and software systems; Choosing relevant views; Building a documentation package
CSC-5094 Software System Quality
What Is Software Quality: Quality Assurance, Quality Engineering Software Testing: Testing: Concepts, Issues, and Techniques, Test Activities, Management, and Automation, Coverage and Usage Testing Based on Checklists and Partitions, Input Domain Partitioning and Boundary Testing, Coverage and Usage Testing Based on Finite-State Machines and Markov Chains, Control Flow, Data Dependency, and Interaction Testing, Testing Techniques: Adaptation, Specialization, and Integration. Quality Assurance Beyond Testing: Defect Prevention and Process Improvement, Software Inspection, Formal Verification, Fault Tolerance and Failure Containment, Comparing Quality Assurance Techniques and Activities. Quantifiable Quality Improvement: Feedback Loop and Activities for Quantifiable Quality Improvement, Quality Models and Measurements, Defect Classification and Analysis.
• Risk Identification for Quantifiable Quality Improvement, Software Reliability Engineering.
• Sample labs and assignments
• Use of automated testing tools
• Testing of a wide variety of software
• Application of a wide variety of testing techniques
• Inspecting of software in teams; comparison and analysis of results
CSC-5095 Research Study
The students have to perform meta analyses of 25-30 research papers selected in current research topics in International Journals. Topic and papers will be selected with approval from the instructor. Conference papers are not allowed for review. Students have to read all such papers and prepare the analysis related to model, methods, findings and come up with what has been done related to selected area of research and research gaps if any are explicitly identified with future work.
CSC-5096 Software Case Tools & Applications
The students will be appraised of; Case tools & techniques, CASE in software development process, Traditional CASE methodologies, Emerging CASE methodologies, OO Design, Specific CASE tools, specialized design tools, Managing CASE methodologies. As part of course, students will be assigned a real life problem for development through CASE tools
Note: Other subjects can be offered to the students depending upon the need of the main research work.
BS Computer Science/BS Information Technology/BS Software Engineering /M.Sc Computer Science / IT or 16 years equivalent education from HEC recognised university/institute with a minimum CGPA 2.00/4.00 or first division in annual system.
The applicant must pass NTU-GAT (General) test conducted by National Textile University, as per HEC guidelines and adopted by Advanced Studies and Research Board of NTU, Faisalabad with a minimum of 50% cumulative score.
The applicant must not be already registered as a student in any other academic program in Pakistan or abroad.
|Admission merit will be prepared according to the following criteria:|
|BS or Equivalent||60% weightage|
|NTU GAT (General)||30% weightage|
|Certificate Verification Fee||2000||-||-||-|
|Red Crescent Donation||100||-||-||-|
|University Card Fee||300||-||-||-|
|Student Activity Fund||2000||2000||2000||2000|
* There is no Transport Fee for Hostel Resident but they will pay hostel charges