Id:   Pass:  
 
         
 

Bachelor of Computer Science (BSCS)
Computing with Knowledge Management & Computer Networks !
Bachelor of Computer Science - Course Description
Click on Hyperlink to See Course Outline
Compulsory Courses

CS 161 Computer Programming

View Course Outline
History and basic components of a computer system, approaches to solving problems using computers, flow charts, pseudo-code, problem solving in C++, control structures, functions, structures, arrays and strings, pointers and advanced topics in arrays, file handling, sorting and searching, debugging programs.

CS 162 Object Oriented Programming

View Course Outline
Introduction to object-oriented concepts, analysis and development using C++, Object oriented problem solving, programme design process, classes, methods, objects and encapsulation. File I/O, exception handling, operator and function overloading, virtual functions, derived classes, inheritance and polymorphism.

CS 213 Data Structures and Algorithms

View Course Outline
Introduction to data structures and algorithms, arrays, stacks, infix, postfix and prefix notations, recursion, backtracking, binary search, queues, linked lists, trees, graphs and operations, algorithm performance, complexity issues, sorting algorithms, searching algorithms, hashing, dynamic memory management

CS 222 Computer Architecture

View Course Outline
Introduction to microcomputer, microprocessor register and ALU design, control unit design, instruction cycle, memory types and read/write cycles, memory mapping, address decoding, address decoder design, interrupts, polling, I/O devices interfacing, DMA, bus arbitration, introduction to RISC architecture

CS 231 Operating Systems

View Course Outline
Overview and history of operating systems, Operating systems concepts, structures and functions, Memory management, process scheduling, process synchronization, Device and file management, concurrent processes, and deadlocks, UNIX system administration and LINUX programming

CS 252 Computer Communication and Networks

View Course Outline
Analogue & digital transmission, network layers; network models (OSI, TCP/IP); and protocol standards, Network topologies, data communications, LAN and WAN, Networking technologies, Transmission media, circuit and packet switching networks, Routing protocols.

CS 282 Database Systems

View Course Outline
Introduction to basic database concepts, different data models, data storage and retrieval techniques and database design techniques, Relational data model and database management system (DBMS) concepts, Data models, conceptual, logical and physical database design and evaluation, database normalization, query languages, query optimization, security, integrity and concurrency protocols.

CS 331 System Programming

View Course Outline
Study of various utilities of operating systems covering both UNIX and DOS, System calls, interrupt handling, inter-process communications, Handling devices through various ports, Network handling and device drivers, Threads and sockets.

CS 341 Theory of Automata

View Course Outline
Regular languages, regular expressions and finite state machines, deterministic & non-deterministic finite state machines, pushdown automata, context free grammar, Turing machines.

CS 366 Visual Programming

View Course Outline
Elements of visual programming, web and windows forms and controls, mouse events, properties, multiple-document interface, processing files, accessing databases, dynamic data exchange, object linking and embedding.

CS xxx Design and Analysis of Algorithms

View Course Outline
In the start students learn asymptotic notations; recursion and recurrence relations, and the divide-and-conquer approach. Further, topics such as sorting; search trees; heaps; hashing; greedy approach; dynamic programming; graph algorithms; shortest paths; network flow; disjoint sets; and polynomial and matrix calculations are discussed. Finally, string matching, NP complete problems, and approximation algorithms are covered

CS 442 Distributed Systems

View Course Outline
Introduction to distributed systems, communication, naming and name services, processes, synchronization, fault tolerance, distributed file systems, distributed transaction processing, replication, object-based systems, document-based systems, coordination-based systems, security in distributed systems.

CS 445 Computer Graphics

View Course Outline
Concepts of Graphical User Interface (GUI), Image formation, perspective view, rigid and non-rigid transforms, interpolation techniques, shadow formation, ray tracing and animation of articulated objects, Lighting and collision detection, Introduction to OpenGL.

CS 449 Information Coding and Number Theory

View Course Outline
In this course the focus will be on the mathematical background that makes modern cryptography work as well as the mathematics behind cryptanalysis. This is mainly some parts of algebra and some from number theory

CS 498/499 Final Year Project-I and II

View Course Outline
Implementing and managing a practical software project. Research and planning, conceiving and developing a real and substantial project related to computer science. The project is spread over the last two semesters (Semester 7 & 8). At the end of the seventh semester the students have to complete the project plan and design and shall be marked an #&39;I#&39; grade. The final grade is awarded at the end of the eighth semester after the demonstration/presentation of the project and submission of the project report.

SE 223 Object-Oriented Analysis and Design

View Course Outline
Object-oriented software development process, OO methodologies and workflows, gathering system requirements, analyzing system requirements to determine use cases and domain model of the problem domain (the Requirements model), creating a system architecture (the Architecture model) supporting the nonfunctional requirements (NFRs) and development constraints, creating a system design (the Solution model) supporting the functional requirements (FRs)

SE 225 Software Engineering

View Course Outline
Software life cycle, software requirement definition and specifications, software design: object oriented and function oriented, user interface design. Program design and techniques: software process models, software testing & maintenance, software project management.

SE 421 Software Project Management

View Course Outline
Project Management knowledge areas, processes and phases, resource identification, software size estimation, budgeting and costing, project planning and scheduling, customer relationship management, technical resource management, configuration management, outsourcing, team selection, risk management, software process management, process improvement framework.

CS 206 - Computer Organization and Assembly Language

View Course Outline
We begin with microprocessor bus structure: addressing, data and control, memory organization and structure (segmented and linear models). Moving on, we discuss registers and flags, data movement, arithmetic and logic, program control, subroutines, the stack and its operation, peripheral control interrupts, interfacing with high level languages, and real-time applications. Furthermore, students study assembly language, addressing modes, are then introduced to the assembler and debugger, how to manipulate and translate machine and assembly code. Finally, we describe the processing chip, and discuss operations performed by an instruction set.

CS 431 Design and Analysis of Algorithm

View Course Outline
Introduction, Comparison sorting, integer sorting & selection: lower bounds, dynamic programming, graph representation, traversal, ordering, shortest paths, greedy algorithms, minimum spanning tree, string algorithms, NP-completeness and approximation.

CS 472 Introduction to Digital Image Processing

View Course Outline
Image processing fundamentals, Image file formats, Digital image enhancement in spatial and frequency domain, Image segmentation, Image representation, Digital image restoration, Image reconstruction and interpolation, Edge detection , Morphological image processing, Color image processing.

CS xxx - Compiler Construction

View Course Outline
Initially, students are introduced to compiler techniques and methodology, and then they study the organization of compilers. Further on, topics like lexical and syntax analysis, parsing techniques, and object code generation and optimization are studied. Finally, the detection and recovery from errors are read, along with a contrast between compilers and interpreters.

CS xxx - Human Computer Interaction

View Course Outline
We begin with an introduction to Human Computer Interaction; then we discuss the usability paradigm and principles, design basics, HCI in software process, design rules, prototyping, evaluation techniques, and task analysis. Furthermore, advanced topics such as universal design, user support, and computer supported cooperative work are covered. Finally, students will study specialized topics such as Groupware, pervasive and ubiquitous applications.

CS 4xx - Professional Practices in IT

View Course Outline
Historical, social, and economic context of Computing (software engineering, Computer Science, Information Technology); Definitions of Computing (software engineering, Computer Science, Information Technology) subject areas and professional activities; professional societies; professional ethics; professional competency and life-long learning; uses, misuses, and risks of software; information security and privacy; business practices and the economics of software; intellectual property and software law (cyber law); social responsibilities, software related contracts, Software house organization.
Communication & Networks

CS 441 Internet and High-level Protocols

View Course Outline
Multiple access protocols (CSMA/CD, CSMA/CA, reservation, polling, token passing, FDMA, TDMA, CDMA). Connecting backbone networks, virtual LANs, routing and forwarding. Network layer addressing (IP). Classful addressing, sub-netting. Dynamic address configuration, network address translation. IP v4, v6 , ARP and ICMP protocols. Layering models in OSI and TCP/IP. Static routing and dynamic routing, routing methods (RIP, OSPF, BGP).

CN 443 Information and Network Security

View Course Outline
Cryptology and simple cryptosystems; conventional encryption techniques, stream and block ciphers, The advanced encryption standard. Hash functions, number theory and algorithm complexity. Public key Encryption. RSA and Discrete Logarithms. Digital signatures. Key management schemes, Identification schemes, Dial-up security. Kerberos and directory authentication. Emerging Internet security standards.

CS 446 - Wireless and Mobile Communication

View Course Outline
Network architectures, cellular networks, ad hoc networks, access protocols, radio and network resource management, quality of service, mobility and location management, routing; mobile-IP, current wireless technologies for personal, local and satellite networks.

CS 220 Network and Parallel Programming

View Course Outline
Linux administration, squid configuration and firewall. The physical layer and encoding mechanisms and network simulator. More topologies in network simulator, error checking algorithms, sliding window protocol, router simulation, advanced routing algorithms, routing algorithms in network simulator, OPNET Introduction.
Computational Intelligence

CS 438 - Introduction to Artificial Intelligence

View Course Outline
Overview of artificial intelligence, issues and application, knowledge representation, searching techniques, pruning, heuristics, production systems, adversarial search, bayesian inference, graphical models, expert systems, neural networks, robotic navigation, planning.

CS 461 - Computer Vision

View Course Outline
Topics include image types, image formation, filtering, interpolation and re-sampling, edge and feature detection, texture analysis, generalized Hough transform, multi-view geometry, stereo vision, graph-cuts, shape representation and matching using shape contexts. Scale space theory and generative model based vision.

CS 462 - Biomedical Image Processing

View Course Outline
Topics include image acquisition techniques, image formats, image reconstruction, low level image analysis techniques, shape representation and variability modeling, shape matching, deformable models and active contours. Diffusion tensor tractography, Image registration, image interpolation and distance metrics, medical image visualization using scalar, vector and tensor visualization techniques.

CS 463 - Computational Intelligence

View Course Outline
Introduction to Intelligent Systems, Human Intelligence and Computational Intelligence, Neural Networks (Single and Multi-Layer Feedforward Neural Networks, Associative Memories, Learning Vector Quantization, Self Organizing Maps, Applications to Pattern Recognition), Fuzzy Logic (Introduction, Fuzzy Sets, Fuzzy Classifiers), Evolutionary Computation (Introduction To Genetic Algorithms, Models, Operators, Selection Schemes, Application To Optimization), Hybrid Intelligent Systems.
Databases

CS 379 - Advanced Database Design

View Course Outline
This course is intended for students who wish to specialize in database management systems or wish to practice the advanced techniques involved in optimization of data storage, database design and queries. This course covers advanced topics like physical storage and access methods, query optimization, transaction processing, concurrency control, crash recovery and distributed databases.

CS 440 Data Warehousing

View Course Outline
Data model for data warehouses, architectural components, logical and physical design, OLAP, data marts, de-normalization, star and snowflake schema, dimensional modeling, indexing and joining techniques, extraction, transformation and loading, data quality management.

CS 448 Distributed Databases

View Course Outline
This is a course that covers advanced topics in databases. After introducing the concepts of entity-relation modeling and relational data models, the students move onto topics such as distributed query processing and optimization, distributed concurrency control, distributed reliability protocols, and distribution architectures. The course culminates with how web data is managed, plus load balancing & clustered databases.

CS 450 Data Mining

View Course Outline
Data pre-processing, cleaning, integration, reduction, mining frequent patterns, association rule mining, classification, decision trees, Bayesian classifiers, rule based classification, prediction, cluster analysis, clustering algorithms, outlier analysis, text and web mining.
Software Engineering

SE 315 Web Application Engineering

View Course Outline
Overview of TCP/IP, Application Layer Protocols, Overview of Multi-tier Architecture, Web Based Application Architectures, Flash), Web Servers and Web Services, Web Development Tools and Technologies.

SE 327 Software Requirements Engineering

View Course Outline
Overview and importance of software requirements, standards and models related to requirements, RE process, techniques for eliciting software requirements, models for analyzing requirements translating higher-level business and user requirements into software product requirements. Concept of operations document, software requirements specification and a data dictionary. Establish requirements baselines, traceability, and requirements change. Requirements related metrics.

SE 329 Software Architecture and Design

View Course Outline
Overview of SDLC, engineering design vs. software design, design heuristics and principles, reusability, metrics and quality of design, frameworks and architecture, framework development approaches, service-oriented architectures, middleware architectures, design patterns, architectural patterns, design issues for distributed and real-time software, re-engineering and reserve engineering.

SE 422 Software Quality Assurance and Testing

View Course Outline
Introduction to software quality, quality metrics, quality control vs. quality assurance, software process certification, inspections and review, software validation and verification, software testing, white-box and grey-box testing, user acceptance testing, testing metrics and complexity, development of test-cases, automated software testing.