MS & PhD Programs in Computer Science
MS (Computer Science)
The Faculty of Computer Science (FCS) at IBA is an exciting place to perform high-impact research and to learn about the latest developments in the constantly developing field of Computer Science. This program provides a solid grounding in the fundamentals of computer science and offers an opportunity to specialize in selected cutting-edge technology areas. The key objectives of the masters degree in Computer Science are: To prepare our students for the increasingly sophisticated application of computers to the needs of industry and society. Opportunities for a research-oriented program, in preparation for the Ph.D. program in computer science. Transformation from young IT junior positions to middle and senior level techno-managerial positions. To provide maximum curriculum flexibility, allowing students to adapt their program to their ambitions and goals as well as to their educational and professional backgrounds. Study under accomplished faculty, with the opportunity to specialize in selected areas of interest. Possibility of working towards a masters thesis, engaging in directed research under faculty members who are internationally recognized in their fields.
techniques on real world problems, synthesize and relate core concepts acquired from the program through research or hands on work. The MS program in Computer Science is offered in the evening and prepares students in computer and programming theory, design, development and application. It consists of 30 credit hours; for those students opting for MS Thesis, 24 credit hours of coursework and 6 credit hours of research work is required. For students opting for coursework only, 27 credit hours of coursework along with 3 credit hours of Research Survey is required. The MS Thesis will be optional. The coursework may be taken from multiple specialization tracks and a student would be required to take courses from at least two tracks. Specialization tracks include Net-Centric Computing, Human Computer Interaction, Intelligent Systems, Software Engineering, Information Management and Theoretical Computer Science. Within a specialization track a minimum of two to a maximum of 4 courses may be taken. Each track has its own set of prerequisites which are usually BS level courses.
field through original research. The FCS hosts a number of research labs that are actively engaged in cutting edge research in a number of fields mentioned above. By being a part of this program, you will get an opportunity to establish linkages with international researchers publish scholarly articles and attend reputed conferences worldwide in your chosen discipline. Your quantitative and qualitative research capabilities will be polished and interdisciplinary research along with interaction with the local industry will always be encouraged. The FCS PhD program motivates independence and originality of thought in the research process. The PhD program at IBA expects that not only will the graduates display excellence in their field of research but that the discipline, research and professional competences they develop from this program will be highly regarded by national and international employers. To achieve this, students are expected to immerse themselves in research in order to develop a strong and vibrant research culture at the institute. The program offers a residency of at least two years where students are expected to complete a specially designed program comprising of advanced courses. During the residency program students are expected to attach themselves to a supervisor in their field of specialization. Students also avail a full Teaching/Research assistantship which comprises of an attractive monthly stipend and full tuition fee waiver.
PhD (Computer Science)
If your ambitions lie in carrying out cutting edge research in the field of Computer Science, gaining recognition for it and maintaining social and corporate networks in your field of study then an excellent option for you is to pursue your graduate studies at the IBA Faculty of Computer Science. The IBA Faculty of Computer Science (FCS) offers PhD programs in the following areas: Artificial Intelligence and Cognitive Robotics Wireless and Mobile Communications Social Computing Operations Research Information Security Numerical Analysis and Computing Multimedia and Web Human Computer Interaction
Research Labs at FCS
As one of Pakistans leading research institutions, Faculty of Computer Science (FCS) at IBA offers the best possible environment in which to undertake postgraduate research. A student conducting Masters or Doctoral research will be assigned to one of the following research labs, which will not only offer a stimulating environment and allow students to gain rigorous research training, but will also provide interaction with enthusiastic and highly committed people.
MS (CS) Curriculum:
The MS (CS) curriculum has been designed as per IEEE / ACM guidelines that have been tailored to accommodate the rapidly changing landscape of computer technology. This program offers a powerful, personalized, and in-depth potential for professional growth, which is measured by students readiness of job market and higher education opportunities. The curriculum has been designed to integrate concepts, tools, and theories to find and formulate problems, think analytically, and recommend technologybased solutions to problems. An option of a capstone thesis is also available that will let students to apply research
The FCS PhD program aims at encouraging those graduate students who can make a significant contribution to their
Telecommunications Research Lab (TRL) Artificial Intelligence Lab Distributed Computing Lab Digital Futures Lab
96
MS & PhD Programs in Computer Science
Telecommunications Research Lab
Telecommunications Research Lab (TRL) at the Faculty of Computer Science focuses on research in the areas of wireless and mobile networks. Specific topics under current research include: performance analysis, modeling and simulation of Mobile Ad Hoc Networks (MANETs), call admission control in integrated wireless 802.11e voice and data networks, routing issues in MANETs, and Wireless Sensor Networks, performance analysis and simulation of cluster-based Wireless Sensor Networks using Bayesian Networks, as well as research in Layer 2 and Layer 3 protocols for MANETs and VANETs. The TRL is equipped with modern simulation tools such as Qulanet v5.0, NS2 and Matlab. During 2010/11, the TRL plans to expand research into cutting-edge areas such as Long Term Evolution (LTE) with the acquisition of OPNET simulation software and also creation of a Wireless Sensor research lab. A modern Cisco networking lab on core routing issues, network security and VOIP is also planned. Staff at TRL contributes frequently to publications in international conferences and journals. PhD students attend international workshops and training sessions that contribute to their self development skills in using simulation tools as well as in gaining hands-on experience with advanced networking devices.
Several other educational robotics related projects have also been initiated by the lab. This includes the incorporation of a hands-on robotics exposure in Introduction to Artificial Intelligence course. Starting from Fall 09, a senior level course, Introduction to Game Programming and Robotics, has also been introduced in the BS(CS) curriculum. A series of robotics workshop for high school students has also been initiated. The purpose of these workshops is to expose our youth to the exciting field of Robotics/Artificial Intelligence. AI Lab has developed and released BNOSA (Bayesian Network and Ontology based Semantic Annotation) which is a framework for semantic annotation of unstructured, ungrammatical and incoherent data sources using Ontology and Bayesian networks. The tool can be accessed and tested via the lab website.
Another tool released by the AI Lab is IBAyes which is a probabilistic reasoning tool that allows a user to model uncertain situations and to perform inference using Bayesian networks and Influence Nets. It is freely available for download from the lab website. An Anti-Money Laundering System (AMLS) is currently under development in partnership with Credit-Chex, a consumer credit bureau services and total risk management solution provider. Once fully developed, AMLS would serve as a decision support tool and would aid financial institutions and State Bank in identifying suspicious financial transactions and in curbing anti money laundering activities.
Artificial Intelligence Lab
Artificial Intelligence Lab at IBA endeavors to provide a platform for young researchers and experienced professionals to manifest their innovative capabilities through development of sophisticated research projects. Being established in 2008, AI LAB at IBA is a dynamically growing research center focusing in the core areas of AI namely probabilistic reasoning, data mining/machine learning, semantic web, computational intelligence and cognitive/educational robotics. The following is a list of the current active projects: AI Lab has partnered with the Innovation and Enterprise Research Lab of the University of Technology, Sydney to form a joint RoboCup Soccer team under 3D simulation league. The team was established in late 2010 and has since then participated in Iran Open 2011 and has also successfully qualified for the World RoboCup to be held in Istanbul, Turkey this year. This is a remarkable achievement for a team that is less than a year old as typically teams have to wait for 2 years before they can qualify for the World RoboCup.
97
MS & PhD Programs in Computer Science
MS (CS) Specialization Tracks
List of Specialization Tracks (Courses and Prerequisites)
1. Net-Centric Computing Advanced Computer Networks Mobile Computing Wireless Communication Distributed Systems Information Security 2. Human Computer Interaction Advanced Human Computer Interaction Usability Engineering
Interaction Design GUI Design Multimedia and Multi-Modal Systems Advanced Web Technologies 3. Intelligent Systems Advanced Artificial Intelligence Knowledge Discovery and Data Mining Computational Intelligence Probabilistic Reasoning Computer Vision 4. Software Engineering Software Quality Assurance Requirement Engineering Software Project Management
Advanced Web Technologies Web Engineering 5. Information Management SAP ABAP Programming I SAP ABAP Programming II Operations & Technology Management Enterprise Integration Social Computing Applications Information Industry Structure & Competitive Strategy Advanced Data Warehousing Knowledge Discovery and Data Mining 6. Theoretical Computer Science Advanced Analysis of Algorithms Formal Methods
98
MS & PhD Programs in Computer Science
List of Specialization Tracks
(Courses and Prerequisites) Net-Centric Computing
Prerequisite: Operating Systems, Data Communications & Networks, Introduction to Statistics ICT511 Advanced Computer Networks This course will cover advanced concepts in computer network such as: Advanced Internet addressing (CIDR and NAT), End-to-end protocols, Multicast Address resolution server, Multi protocol over ATM, IP Switching / Tag Switching, Multi protocol label Switching(MPLS), scheduling and congestion control in the Internet, Quality of service in the Internet, Internet Routing Architecture, Border Gateway Protocol (BGP), Resource Reservation Protocol (RSVP), IP version 6, Wi-Fi and Wi-Max, and Mobile IP. Mobile Computing This course presents an extensive overview of the technical as well as business aspects of mobile computing and wireless communications. Main topics to be covered are: mobile applications, mobile computing platforms, wireless networks, architectures, security, and management, of mobile computing and wireless communications. The role of wireless Internet and Mobile IP is reviewed and the mobile computing platforms are examined with a discussion of wireless middleware, wireless gateways, mobile application servers, WAP, i-mode, J2ME, BREW, Mobile Internet Toolkit, and Mobile Web Services. Wireless Communication The objective of this course is to provide the student with an adequate understanding of the prevalent Mobile Wireless Networks. The course will discuss the protocol reference model(s) that relate to Mobile Wireless Communication Systems. It will mainly cover the physical, data link, and the application layers from user plane perspective as they apply to mobile wireless networks in use today. Additionally, it will cover the management and control plane functions.
Distributed Systems This course deals with an in-depth understanding of Distributed Systems. Distributed system is a computer
system consisting of several independent computers, connected by a network, that can work together to perform a task or provide a service. Typical examples include: the World Wide Web, networked file systems, DNS, and massive multiprocessor supercomputers. This course focuses on the principles, techniques, and practices relevant to the design and implementation of such systems. The course takes a systems-oriented view of distributed systems, concentrating on infrastructure software and providing hands-on experience implementing distributed systems. The main objectives of this are: to present the principles underlying the functioning of distributed systems; to create an awareness of the major technical challenges in distributed systems design and implementation; to expose students to modern and classic technology used in distributed systems and their software; to expose students to past and current research issues in the field of distributed systems; and to provide experience in the implementation of typical algorithms used in distributed systems. Information Security The purpose of this course is to introduce students to the fundamental concepts and issues of information security. Basic principles for information security; threats and defenses; cryptography; introduction to network security and security management are covered in this course. By the end of this course the student should be able to understand the importance of information security in software systems, understand what a security policy is and what are the major mechanisms for implementing security policies, have a background in information security sufficient for the study of computer networking, be familiar with the major educational resources available for information security and be able to effectively present ideas about information security in written, oral, and web formats.
solutions to make a system more human friendly. Effective design is reliant upon understanding the human context in which a new artifact has to fit. This course provides the necessary knowledge and skills to design, prototype and evaluate usable human-computer interaction in both its narrow sense (the user interface) and its broad sense (information systems, people, organisations, even societies and cultures). It further provides a strategic grounding in both theory and good practice for students to make effective use of applying HCI principles to IS design in their professional work. CSE576 Usability Engineering This course introduces methods for usability engineering alongside basic concepts of usability and the design of human computer interfaces. One of the prime requirements of any software is Usability; however the term usability has many facets. Usability is not only determined by the design of the human computer interface, but also by the underlying task model and data model of the software. In practice, usability is determined by a development process that takes users, their environment and tasks into account. The course relies on practical exercises during which participants learn to apply usability engineering methods. In this way participants gather the necessary skills required for improving the usability of their software systems. The course enables participants to apply selected usability engineering methods in their own projects in order to improve the usability of the software systems they develop.
Human Computer Interaction
Prerequisite: Software Engineering, Introduction to HCI CSE575 Advanced Human Computer Interaction This course aims to gives students an understanding of how interactive systems are developed. The hardware and software issues that determine the usability of an interactive computer system will also be read in this course. Humans are the key deciding factor to make a computer system successful. This course discusses the key issues and their
99
MS & PhD Programs in Computer Science
CSE577 Interaction Design This course provides theoretical knowledge and practical experience in the fundamental aspects of Interaction Design. The course focuses on the process of designing the user experience by examining works of interface design from the perspective of psychology, graphic design, and humancomputer interaction conceptual frameworks. Topics included are: concept and planning of Interaction Design, Prototyping, User testing, Market Testing, Iteration, Product Specifications, Production Matrixes, Follow-up and maintenance. CSE578 GUI Design This course introduces design and analysis methods for Graphical User Interface design. Relevant perceptual psychology is introduced, and guidelines for user interface design are derived. Design methods are discussed. Analysis of interfaces by experimentation on humans is described. Exploring effective Web applications design through theory and hands-on exercises, exploring user interaction characteristics and incorporating them in application design is also covered in this course. CSE579 Multimedia and Multi-Modal Systems This course will extensively cover the growing field of multimedia by introducing advanced programming on different multimedia applications. Topics covered in this course are Multimedia Authoring tools, Graphics and Image data representation, color in image and video, fundamental concepts of digital audio and video, data compression, video compression, MPEG I and II video coding, media communication and retrieval and content based retrieval in digital libraries. ICT512 Advanced Web Technologies To deliver in-depth knowledge of the basic concepts and general principles associated with web application development, illustrating specific technologies. To provide an understanding of different concepts, architectures, techniques, and infrastructures for service oriented computing in web development. The course explains the principles and practice of web services. It provides a comprehensive overview of state of the art web services and associated disciplines, relating concepts to practical examples and emerging standards.
Intelligent Systems
Prerequisite: Artificial Intelligence, Object-Oriented Programming, Introduction to Statistics
CSE561 Advanced Artificial Intelligence This course discusses a breadth of advanced issues in artificial intelligence including but not limited to data mining, machine learning, probabilistic reasoning , evolutionary computation and computer vision. The emphasis on different topics may vary from one offering to the next. The primary audience of this course is those students who are not doing specialization in the AI track but are interested in the application of AI in different fields (computer networks, human computer interaction, software engineering, etc.). Being a graduate level course, students are expected to read a lot of recent research papers and do a research project preferably on application of AI techniques in a field of their choice. CSE652 Knowledge Discovery and Data Mining This course offers the state-of-the-art in knowledge discovery and data mining from a research as well as a practical perspective. Classification and clustering techniques, features ranking and selection, association rules and text mining, performance evaluation of different techniques and data visualization are studied in detail. Students are expected to implement many of the above techniques and to use available open source and commercial softwares to analyze extremely large data sets. A significant amount of time will be spent on the current research issues in data mining. Being a graduate level course, it is expected that students have a decent background in databases, artificial intelligence and statistics. CSE656 Computational Intelligence The course presents the fundamentals of computational intelligence. Topics included are evolutionary algorithms, particle swarm optimization, ant colony optimization, artificial immune systems, artificial neural networks, fuzzy systems and hybridization of the above techniques. The course focuses on the applications of these techniques on real world problems and shows how they are designed, implemented and analyzed for a given a problem domain. Real world applications include portfolio optimization in financial domain, control and strategy optimization in robotics, route optimization in path planning and network traffic flows, and so on. A significant amount of time will
be spent on the current research issues in computational intelligence. This is a programming intensive course and students are expected to spend a significant amount of time on implementing all the techniques studied in the course and applying them on a significantly complex problem of their choice. CSE655 Probabilistic Reasoning This course provides an in-depth analysis of Bayesian Belief Networks which have become the tool of choice for reasoning under uncertainty. The course focuses on the syntax and semantics of Bayesian Networks and how to use BNs to model and analyze uncertain situations. Models that aim to integrate time and uncertainty such as dynamic Bayesian networks, dynamic Influence Nets, Markov Nets as well as the learning of structure and parameters of a Bayesian network will be discussed in detail. The course is intended for graduate level CS students and a significant amount of time will be spend on the current research issues in the field of probabilistic reasoning. Students are expected to use various softwares and develop their own tool to implement various reasoning and learning algorithms.
100
MS & PhD Programs in Computer Science
CSE660 Computer Vision Computer Vision is a study in algorithms, tools and techniques that enable computers to extract information out of digital images.Computer Vision is being used extensively for driving autonomous vehicles, planetary exploration, life-saving medical imaging techniques, enhancing the Human-Computer-Interaction experience and preservation of accumulated human wisdom by digitizing books. This course will offer an introduction to the core concepts, some industrial-strength tools and recent breakthroughs in Computer Vision. By the end of this course, students should be able to analyze problems in Computer Vision, break them into simpler problems, associate these simpler problems to established solution techniques, design efficient algorithms using these established techniques and make computer programs based on these algorithms.
CSE568 Software Project Management This course deals with lifecycle of Software Project Management, Project Planning, Software estimation, software project schedules, reviewing work products, system requirements, project automation, software metrics, testing, bugs and diagnosis, change configuration, managing organization, team and project, software process improvement. This course will enable students to have a complete view of Project Management, as described by PMBOK. ICT512 Advanced Web Technologies To deliver in-depth knowledge of the basic concepts and general principles associated with web application development, illustrating specific technologies. To provide an understanding of different concepts, architectures, techniques, and infrastructures for service oriented computing in web development. The course explains the principles and practice of web services. It provides a comprehensive overview of state of the art web services and associated disciplines, relating concepts to practical examples and emerging standards. CSE569 Web Engineering The aim of this course is to teach the students the technologies and techniques for creating large-scale hypertext information systems on the WWW. Based on recent hypertext research and current WWW standards it will address the issues of publishing individual documents and sites together with the problems of global information management. Course topics will include, principles of web architecture, web information design, searching the web graph, factors that have led development of the web in its present form and current trends in the development of hypertext in the web. study of ABAP dictionary, including study of data objects, performance, input checks, object dependencies, views, search and performance monitoring. MIS542 SAP ABAP Programming II This course is divided into three sections. The first part deals with Object Oriented paradigm in SAP ABAP. Object Oriented Programming techniques, Repository Objects, Exception handling and RTTS are covered in the first part of this course. The second part is advanced ABAP and covers topics such as ABAP runtime, types and data objects, internal tables and function groups. The third part deals with developing user dialogs within ABAP. This section covers topics such as screen programming, program interface, screen elements, lists and context menus. MIS502 Operations & Technology Management Technology is becoming an indispensable tool for companies to stay competitive in the fast changing business environment of today and there is an increasing demand for effectively introducing and managing technology in the corporate world. The course will cover the management of business systems that produce goods, as well as those that provide services. It will discuss key issues in Operations Management including Lean Production, Six Sigma, 5S, JIT, Kaizen, and Continuous Process Improvement and explore the implementation of technology to solve operational problems. It will provide tools for analyzing business processes for improvement and for incorporating and managing technology to provide sustainable competitive advantage to the organization.
Software Engineering
Prerequisite: Object-Oriented Programming, Introduction to Software Engineering CSE566 Software Quality Assurance This course addresses process considerations in software systems development. It discusses advanced material in software planning, mechanisms for monitoring and controlling projects, and leadership and team building. Furthermore, it provides knowledge and understanding of the concepts, principles, techniques, and tools that are used in the management of software projects. Some the topics included are Size and Cost Estimation, Schedule Plan, Risk Management, Quality Management and Configuration Management. Students work in a team to develop a project plan for a small project according to the established standards based on best practices of the global IT industry. CSE567 Requirement Engineering Students will learn to gather correct, concise, clear and complete set of requirements. Some of the topics included in this course are requirements engineering process, requirements elicitation and analysis, requirements validation and requirements management. Moreover, advance topics such as Model Based Verification and Formal Specification techniques will also be discussed in class. Students will apply the acquired knowledge to document requirements for a software application.
Information Management
Prerequisite: Database Systems MIS541 SAP ABAP Programming I The first section of this course comprises of Introduction to SAP ABAP, SAP architecture, and ABAP Development workbench tools. The second section deals with study of ABAP workbench in detail, which includes, study of flow of an ABAP program, ABAP workbench, ABAP dictionary, ABAP language elements, data retrieval, subroutines and ABAP events. The third section of this course is based on in-depth
MIS503 Enterprise Integration This course provides students with the theories, models, and analytic techniques required to develop solutions for integrating heterogeneous information systems. Basic concepts that must be applied to enable diverse applications developed in different environments under a variety of rules and standards to process cooperatively will be explored and illustrated. This course serves as a focused introduction to the concept that information systems must be utilized (i.e., re-used) rather than redeveloped and will give consideration to the role of users and the impact of information systems on those people. Independent and group assignments will provide the students with the opportunity to investigate Enterprise
101
MS & PhD Programs in Computer Science
Integration solutions from the Web and in use in local environments MIS553 Social Computing Applications The course will focus on the new area of Social Computing and its Applications, which is becoming quite popular and important these days. The course will examine a sampling of the social, technical and business challenges social web sites must solve to be successful, teach students how to use high-level tools to analyze, design or build online communities, and help them understand the social impact of spending at least part of their lives online. MIS513 Information Industry Structure & Competitive Strategy This course draws upon the most recent experience in the impact of information technology upon diverse industries, ranging from securities trading to consumer packed goods relating. It integrates the experience with relevant theory to develop a theory of competitive strategy for electronic commerce, and for information-based strategies more generally. It is not tools and techniques course or a quantitative analysis course; likewise it is not a technology or an implementation course. It provides a focused and m o d e r n co m p l e m e nt to st rate g i c p l a n n i n g . MIS552 Advanced Data Warehousing Data warehouses are databases of a specific kind that periodically collect information about the activities being performed by an organization. This course will discuss advanced topics of data warehousing in order to provide a detailed knowhow of the subject to the student. Topics included in this course are: discussion on conventional data warehousing techniques, spatial data warehousing techniques, temporal data warehouses, designing conventional data warehouses, designing spatial and temporal data warehouses, and ongoing research in ware housing. CSE652 Knowledge Discovery and Data Mining This course will offer a comprehensive coverage of well known Data Mining topics including classification, clustering, and association rules. A number of specific algorithms and techniques under each category will be discussed. Methods for feature selection, dimensionality reduction and performance evaluation will also be covered. Students will be exposed to relevant Data Mining research.
Theoretical Computer Science
Prerequisite: Computer Architecture, Algorithms.
CSE651 Advanced Analysis of Algorithms The objective of this course is to read advanced topics of the core area of computer science which enables students to focus on the study of abstract models of computation. These abstract models allow the students to assess via formal reasoning what could be achieved through computing when they are using it to solve problems in science and engineering. The course exposes students to the computability theory, as well as to the complexity theory. The goal is to allow them to answer fundamental questions about problems, such as whether they can or not be computed, and if they can, how efficiently. The course defines advanced computation models and their properties, and the necessary mathematical techniques to prove more advanced attributes of these models. The students will be able to express computer science problems as mathematical statements and to formulate proofs. Upon completion of this course the students are expected to become proficient in key topics of theory of computation, and to have the opportunity to explore the current topics in this area.
CSE572 Formal Methods The aim of this course is to expose students to mechanized formal tools which help ensure correctness and hence reliability of computer systems. Students will learn about the theory underlying model checking and will gain experience with model checking tools. Upon completion of this course the student will be able to demonstrate knowledge and understanding of temporal logics, theoretical underpinnings of model checking and modelchecking tools and their uses. CSE573 Advanced Computer Architecture Comprehensive coverage of the architecture and system issues that confront the design of a high performance workstation/PC computer architectures with emphasis on quantitative evaluation. Topics covered in this course are Quantitative Principles of Computer Design, Instruction Set Principles and Examples, Advanced Pipe-lining and Instruction-Level Parallelism, Memory-Hierarchy Design, Storage Systems, Interconnection Networks and Multiprocessors.
Its not your aptitude, but your attitude, that determines your altitude.
- Zig Zagler
102