Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Walchand College of Engineering, Sangli. (An Autonomous Institute) Second Year Engineering in Computer Science and Engineering 1. Teaching and Evaluation Scheme (Structures) 2. Detail Curriculums of all Courses Walchand College of Engineering, Sangli (An Autonomous Institute) Teaching and Evaluation Scheme for Second Year UG Program in Computer Science & Engineering I Semester Evaluation Scheme Teaching Scheme Course Code Course L T P Credits 2CS201 Discrete Mathematics 3 1 - 4 2CS202 Data Structures 3 - - 3 3 1 - 4 2CS204 Software Engineering 3 1 - 4 2*CS* Open Elective – I # # # # 3 2CS252 Data Structures Lab -- - 2 1 2CS255 Programming Lab-I 2 - 4 4 17 16 3 4 6 6 23 23 2CS203 Data Communication & Networking Total with 2ICS201 Total with 2DCS201 Theory Marks Scheme Max. ISE SE-I SE-II ESE ISE SE-I SE-II ESE ISE SE-I SE-II ESE ISE SE-I SE-II ESE ISE SE-I SE-II ESE ISE ESE ISE ESE Min. for Passing 10 20 20 50 10 20 20 50 10 20 20 50 10 20 20 50 10 20 20 50 40 40 40 40 40 POE POE Practical Marks Max. --------------------50 50 50 50 Min. for Passing --------------------20 20 20 20 Total Contact Hours/Week: 26 hrs Total Contact Hours/Week: 26 hrs Total Credits: 23 # Note: Student can register only one course under Open Elective: IE/DE 2*CS* : Open Elective – IE (to be offered to all departments except CSE) Teaching Scheme L T P 2ICS201 Foundation of Computer Science 3 0 0 2*CS*: Open Elective – DE (to be offered to CSE department only) 2DCS201 Processor Architecture Second Year Engineering U.G. Program Curriculums 2013-14 Teaching Scheme L T P 2 1 0 2 Walchand College of Engineering, Sangli (An Autonomous Institute) Teaching and Evaluation Scheme for Second Year UG Program in Computer Science & Engineering II Semester Course Code Course Teaching Scheme Scheme L T P 2CS211 Theory of computation Credits 3 1 - 4 Computer Network 3 - - 3 Operating system 3 1 - 4 2CS214 Database Engineering 3 - - 3 2*CS* Open Elective – II # 3 - - 3 - - 2 1 - - 2 1 2 - 4 4 17 2 17 2 8 8 23 23 2CS212 2CS213 2CS262 2CS264 2CS265 Computer Network Lab Database Engineering Lab Programming Lab. –II Total with 2ICS211 Total with 2DCS211 ISE SE-I SE-II ESE ISE SE-I SE-II ESE ISE SE-I SE-II ESE ISE SE-I SE-II ESE ISE SE-I SE-II ESE ISE ESE ISE ESE ISE ESE Evaluation Scheme Theory Practical Marks Marks Max. Min. Max. Min. 10 --20 --40 20 --50 --10 --20 --40 20 --50 --10 --20 --40 20 --50 --10 --20 --40 20 --50 --10 --20 --40 20 --50 --50 20 POE 50 20 50 20 POE 50 20 50 20 POE 50 20 Total Contact Hours/Week: 27 Hrs Total Contact Hours/Week: 27 Hrs Total Credits: 23 # Note: Student can register only one course under Open Elective: IE/DE 2*CS* : Open Elective – IE (to be offered to all departments except CSE) 2ICS211 Data Structures with Programming Languages 2*CS* : Open Elective – DE (to be offered to CSE department only) 2DCS211 Statistics and Fuzzy System Second Year Engineering U.G. Program Curriculums 2013-14 3 Title of the Course: Discrete Mathematics 2CS201 L-03 T-01 P-00 Cr-04 Scheme of Evaluation ISE SE-I SE-II ESE Minimum for Passing 10 20 20 50 40 Pre-Requisite Courses: Mathematics-(set theory, Boolean operations, logical operations) Textbook: 1. J.P. Tremblay &R. Manohar , “Discrete Mathematical structure with applications to computer”, MGH (For 1st and 2nd topics) 2. Liu, “Discrete Mathematics”, Tata McGraw Hill 3. Sushil kumar Azad, “Theory of computation”, Dhanpat Rai and Co. References: 1. K.D. Joshi, “Foundation of Discrete Mathematics”, New Age International Ltd. 2. Frank Ayres, “Theory and problems in Abstract Algebra”, Schaum’s outline series. 4. Kenneth Rosen,” Discrete Mathematics & its application “ Tata McGraw Hill Course Objectives : a. Understand aims and contents of discrete structure b. Grasp mathematical logic and simple reasoning paradigms. c. Grasp set theory d. Describe algebraic structure e. Describe fundamentals of graph theory f. Understand discrete probability Course Objectives : a. b. c. d. Understand the concepts of discrete structure. Grasp mathematical logic and simple reasoning paradigms. Interpret set theory, graph theory & algebraic structure. Understand discrete probability. Course Learning Outcomes: Student will be able to a. Construct proofs and develop elementary formal logic. b. Apply set algebra rules and Build functions and set relations. c. Solve problem with graphs and trees. Assessments Tutorials: One hour per week per batch tutorial is to be utilized for problem solving to ensure that students have properly learnt the topics covered in the lectures. This shall include assignment, tutorials, quiz, and surprise test, declared test, seminar, final orals and any others. The teacher may add any of other academic activity to evaluate student for his/her in semester performance Teacher’s Assessment based on - Quiz/Home assignments/Mini Projects/any other (10%) Two Semester examinations SE I & SE II (20% each). Each examination is of one hour duration and will be assessed for 20 Marks on 33% of the syllabus covered (between start of the term and First Sem Exam i.e. Generally Module 1 and 2 for SE I and between SE I & SE II i.e. Generally Module 3 and 4 for SE II). ESE (50%) – Two hours duration and will be assessed for 50 Marks and would be on entire syllabus with weightage 20% each for the syllabus of SE I generally (module 1 and 2)and SE II generally (Module 3 and 4) and 60% on the syllabus covered after SE II generally (Module 5 and 6). Course Contents: Module 1. Mathematical Logic & Set Theory Introduction, Statement and Notation, Connectives, statements formulas andtruth tables, well formed formulas, Tautologies Equivalence of formulas,Tautologies, other connectives, Normal & Principal Normal forms.Basic concepts of set theory, Venn Diagram, set operation, algebra of sets. 7 Second Year Engineering U.G. Program Curriculums 2013-14 4 Module 2. Relations and Functions Relations, Pictorial representation of Relations,Properties of binary relation,Equivalence Relations, partition and covering of set, POSETand Hasse diagram Functions- types, Inverse and composition of functions, 7 Module 3. Algebraic systems Intoduction,Operations,semigroups,Groups,subgroups,Rings,monoid,lattices 6 Module 4. Graphs and Planar graphs: Basic terminology, multigraphs and weighted graphs, Paths and Shortest path in weighted graphs, Hamiltonian and Eulerian Paths and Circuits, Factor of a graph, Planner Graph. 7 Module 5. Directed graphs Trees, Rooted Trees, Path lengths in rooted trees, Prefix codes, Binary search trees, Spanning trees and cut sets, Minimal spanning trees, Kruskal’s algorithm and Prim’s algorithms, Warshall’s algorithm for transitive closure 6 Module 6. Permutation, Combination and Discrete Probabilities: Rules of sum and product, permutations, combinations, generation of permutations and combinations, Introduction to Discrete Probability, Information and mutual information 7 Module wise Measurable Students Learning Outcomes 1. Relations-To produce a useful way to store information in database. 2. Graphs- Use of graphs to schedule tasks. Module wise Measurable Students Learning Outcomes: Module 1: Able to construct logical proofs as logic plays a major roles in formal languages and in hardware and software. Module 2: Produce a useful way to store information in database. Module 3: Identify different algebraic structures Module 4: Apply graph application in computer domain- e.g. finding shortest path in networking etc. Module 5: Use of graphs to schedule tasks. Module 6: Solve problems on probability, related to discrete sample spaces. Outcomes as regards to improvement in Professional Skills Implicitly Computer Usage / Lab Tool: Web site: www.mathisfun.com Laboratory Experiences: Independent Learning Experiences: Website www.mhhe.com/rosen Second Year Engineering U.G. Program Curriculums 2013-14 5 Title of the Course: Data Structures 2CS202 L- 3 T- 0 P- 0 Cr- 3 Scheme of Evaluation ISE SE-I SE-II ESE Minimum for Passing 10 20 20 50 40 Pre-Requisite Courses: Programming in C including pointers and File Handling Textbook: 1. Richard F. Gilberg, Behrouz A. Forouzan, Data Structures, A Pseudocode Approach With C, Cengage Learning, Second Edition, 2005 2. S. Lipschutz, Data Structures, Schaum's Outlines Series, Tata McGraw-Hill, 3. Ellis Horowitz, S. Sahni, D. Mehta, Fundamentals of Data Structures in C++, Galgotia Book Source, New Delhi, References: 1. Yashavant Kanetkar, Understanding pointers in C, BPB Publication 2. R. G. Dromey, How to Solve it by Computer, Prentice-Hall of India 3. Brian W. Kernighan and Dennis M. Ritchie, The C Programming Language, Prentice Hall of India.Jean-Paul Tremblay, Paul. G. Soresan, An introduction to data structures with Applications, Tata Mc-Graw Hill International Editions, 2nd edition 1984 A. Michael Berman, “Data structures via C++”, Oxford University Press, 2002 4. N. B. Venkateshwarlu, E. V. Prasad, C and Data Structures, S. Chand and Company, 2010 Course Objectives : a. To develop and improve skills in programming in a systematic way and preparing the students for advanced computer science courses. b. To learn to use recursion in program development. c. To understand elementary linear and non-linear data structures and the algorithms those build and manipulate them d. To understand the concept of ADT and to choose the appropriate data structure for modeling a given problem. e. To analyse and compare various methods to solve the problem. Course Learning Outcomes: Students who complete the course, will be able to a. Demonstrate the fundamental concepts of structuring, managing and organizing the data for b. c. d. e. efficient access and manipulation. Identify need of using recursion and write recursive algorithms. Explain and apply linear and non-linear data structures e.g. linked lists, stacks, queues, trees, graphs etc. Identify the appropriate data structures to be used to solve the problems based on ADTs. Compare, analyze and evaluate various methods to solve the problem based on inherent properties of data structures and the complexity of algorithms. Assessments Teacher’s Assessment based on - Quiz/Home assignments/Mini Projects/any other (10%) Two Semester examinations SE I & SE II (20% each). Each examination is of one hour duration and will be assessed for 20 Marks on 33% of the syllabus covered (between start of the term and First Sem Exam i.e. Generally Module 1 and 2 for SE I and between SE I & SE II i.e. Generally Module 3 and 4 for SE II). ESE (50%) – Two hours duration and will be assessed for 50 Marks and would be on entire syllabus with weightage 20% each for the syllabus of SE I generally (module 1 and 2)and SE II generally (Module 3 and 4) and 60% on the syllabus covered after SE II generally (Module 5 and 6). Course Contents: Module 1: Introduction Basic Concepts: Algorithm, Pseudocode, ADT, Data Structure, Algorithmic Efficiency Recursion: Direct and Indirect recursion, analysis of recursive functions e.g. Towers of Hanoi, Second Year Engineering U.G. Program Curriculums 2013-14 6 Ackerman’s function, etc. 6 Module 2: Linked Lists Concept of linked organization, Singly linked list, doubly linked list and dynamic storage management, circular linked list, Operations such as insertion, deletion, inversion, concatenation, computation of length, traversal on linked list, Representation and manipulations of polynomials using linked lists 6 Module 3: Stacks and Queues Fundamentals stack and queue as ADT, Representation and Implementation of stack and queue using sequential and linked organization, Circular queue: representation and implementation, Application of stack for expression evaluation and for expression conversion, Backtracking, Stacks and Recursion, Priority queue Doubly Ended Queue 7 Module 4: Trees Basic terminology, binary trees and its representation, binary tree traversals (recursive and non recursive), operations such as copy, equal on binary tree, expression trees, General Trees, Binary Search Trees, Heaps and its operations, Introduction to Multiway Trees 7 Module 5: Graphs Terminology and Representation of graphs using adjacency matrix, adjacency list and adjacency Multilist, Traversals Depth First and Breadth First, Minimum Spanning Tree 5 Module 6: Searching & Sorting Technique Search: Importance of searching, Sequential, Binary, Fibonacci search algorithms Sorting: Internal and External Sorts, Insertion, Shell, Heap, Quick sort, Merge sort, Radix sort, Two-way merge sort Hashing: Hashing functions, overflow handling with and without chaining, open addressing: linear, quadratic, double, rehashing Files and Indexes: Indexing Techniques: hashed indexes, Tree indexing - B-trees (concept only implementation not expected), File Organizations: Sequential, Random and Linked organizations, Storage Management 9 Module wise Students Learning Outcomes The student should be able to: Module 1: Understanding the problem, building logic to solve the problem, writing algorithms, thinking recursively Module 2: Demonstrate concept of linked list and use of ADTs to solve the problem Module 3: Discuss theoretically and use data structures like stacks and queues as the programmers’ tool to develop the solution. Use and demonstrate applications of these data structures in computer systems Module 4: Explain non linear data structure tree and its basic operations. Implementing BST and using it in real applications Module 5: Discuss and implement graphs using various representations and using it to store and manipulate data for real applications Module 6: Explain and compare various searching and sorting techniques. Describe hashing and File organizations at the preliminary level to study further courses in computer science and information techniques. Outcomes as regards to improvement in Professional Skills Students are encouraged to work in small groups and interact with the fellow students. Mini project presentations will improve the communication skills of the students Second Year Engineering U.G. Program Curriculums 2013-14 7 Computer Usage / Lab Tool As data structures is the core course in computer science and information technology, extensive lab sessions are required. Further few animated tools to learn the concepts in data structures need to be used. Laboratory Experiences: 15-20 assignments on the topics covered in theory. It may include small projects in group of 2-3 students. It must include drawing the flowcharts, algorithms, data dictionary and implementation in C/C++ with debugging tool Independent Learning Experiences: Tutorials to improve the logical abilities to solve the problems using computers Tutorials to provide solution to the problems based on different data structures and then comparing and analyzing the solutions. Discussions related to the solutions provided by various groups Second Year Engineering U.G. Program Curriculums 2013-14 8 Title of the Course: Data Communication and Networking 2CS203 L- 3 T- 1 P- Cr- 4 Scheme of Evaluation ISE SE-I SE-II ESE Minimum for Passing 10 20 20 50 40 Pre-Requisite Courses: ( optional): CS102 or Programming in C including pointers and File Handling Textbook: 1. William Stallings, “Data and Computer Communications”, PHI, 8th Edition. (Module 1,2,3,4,5) 2. Andrew S. Tanenbaum, “Computer Networks”, PHI, Fourth Edition.(Module 2,6) References: 1. Behrouz A. Forouzan ,“Data communication and Networking”, TMGH, 4th Edition. 2. James F. Kurose and Keith W. Ross, “Computer Networking: A Top-Down Approach Featuring the Internet”, Pearson Education, 2003. 3. Behrouz A. Forouzan ,”TCP/IP Protocol Suite”, Tata McGraw Hill edition, Third Edition. 4. N. Olifer, V.Olifer, “Computer Networks: Principles, Technologies and Protocols for Network design”, Wiley India Edition (1st Edition). 5. TCP/IP Volume 1, 2, 3, (W. Richard Stevens), Addison Wesley Course Objectives : a. To understand fundamental concepts of data communication and data link layer protocol. b. Learn to implement data link layer protocols. c. Learn the working of network layer models and mapping of protocols to them. Assessments Tutorials: One hour per week per batch tutorial is to be utilized for problem solving to ensure that students have properly learnt the topics covered in the lectures. This shall include assignment, tutorials, quiz, and surprise test, declared test, seminar, final orals and any others. The teacher may add any of other academic activity to evaluate student for his/her in semester performance Teacher’s Assessment based on - Quiz/Home assignments/Mini Projects/any other (10%) Two Semester examinations SE I & SE II (20% each). Each examination is of one hour duration and will be assessed for 20 Marks on 33% of the syllabus covered (between start of the term and First Sem Exam i.e. Generally Module 1 and 2 for SE I and between SE I & SE II i.e. Generally Module 3 and 4 for SE II). ESE (50%) – Two hours duration and will be assessed for 50 Marks and would be on entire syllabus with weightage 20% each for the syllabus of SE I generally (module 1 and 2)and SE II generally (Module 3 and 4) and 60% on the syllabus covered after SE II generally (Module 5 and 6). Course Contents: Module 1: Introduction: Data Communications and Networking for Today’s Enterprise, A Communications Model, Data Communications, Networks, The Internet-An Example Configuration. Data communication Concepts and Terminology: Analog and Digital Data Transmission, Transmission Impairments, Channel Capacity.Media:- Guided Transmission Media, Wireless Transmission, Wireless Propagation, Line-of-Sight Transmission 4 Module 2: Encoding techniques: Digital Data- Digital Signals, Digital Data- Analog Signals, Analog Data- Digital Signals, Analog Data- Analog Signals.Digital data communication techniques:-Asynchronous and Synchronous Transmission, Types of Errors, Error Detection & Correction, Hamming Code, CRC, Checksum, Line Configurations. Framing –Fixed, Variable error control, Flow control, Simplest Protocols, Stop & Wait Protocols, GO Back N & Selective Repeat Sliding window protocols, other Protocol 9 Module 3: Multiplexing: Frequency Division Multiplexing, Synchronous Time Division Multiplexing, Statistical Time Division Multiplexing, Asymmetric Digital Subscriber Line, xDSL. Spread Spectrum:- The Concept of Spread Spectrum, Frequency-Hopping Spread Spectrum, Direct Sequence Spread Spectrum, Code Division Multiple Access. Second Year Engineering U.G. Program Curriculums 2013-14 9 Telephone network for data transmission, Modems & RS232 Interfacing sequences, DSL, Latest telephone communication and interfacing techniques. 9 Module 4: Switching techniques: Switched Communications Networks, Circuit-Switching Networks, Circuit-Switching Concepts, Soft switch Architecture, Packet-Switching Principles, X.25, Frame Relay. Introduction to Asynchronous Transfer mode protocol Architecture, Logical Connections, ATM Cells. Routing in switching networks:- Routing in Packet-Switching Networks, Routing in Arpanet, Least-Cost Algorithms. 8 Module 5: Congestion control in data networks: Effects of Congestion, Congestion Control, Traffic Management, Congestion Control In Packet-Switching Networks, Frame Relay Congestion Control. Cellular wireless network:Principles of Cellular Networks, First-Generation Analog Second-Generation CDMA, ThirdGeneration Systems 5 Module 6: Networking basics: Evolution of network, Introduction to Computer Networks, Types of Network, Physical & Logical Topology, Introduction to different types of network, internetworking ,Intranet, Internet and all Reference models-OSI,TCP/IP,ATM etc. 4 Module wise Measurable Students Learning Outcomes The student will be able to Module 1: Understand and apply the fundamental concepts of data communication system. Module 2: Understand and apply the fundamental concepts of data communication system. Module 3: Identify various concepts related to data link layer protocols. Module 4: Identify various concepts related to data link layer protocols. Module 5: Compare and analyze various networking technologies. Module 6: Revise theoretical knowledge systematically to understand working of network Outcomes as regards to improvement in Professional Skills Students are encouraged to work in small groups and interact with the fellow students. Computer Usage / Lab Tool: C language and network lab. Laboratory Experiences: One hour per week per batch tutorial is to be utilized for problem solving to ensure that students have properly learnt the topics covered in the lectures. This shall include assignment, tutorials, quiz, and surprise test, declared test, seminar, final orals and any others based on following topics: 1. Wired and wireless communication techniques. 2. Telephone, serial and modem communication. 3. Multiplexing and switching techniques. 4. All data link layer protocols and error correction and detection techniques. 5. Case study of campus-wide network. The teacher may add any of other academic activity to evaluate student for his/her in semester performance. Independent Learning Experiences: Tutorials to improve the logical abilities and communication skill. Tutorials to provide solution to the problems based on different theory concepts. Discussions related to the solutions provided by various groups. Second Year Engineering U.G. Program Curriculums 2013-14 10 Title of the Course: Software Engineering 2CS204 Scheme of Evaluation ISE 10 SE-I 20 L-3 SE-II 20 ESE 50 T-1 P-0 Cr-4 Minimum for Passing 40 Pre-Requisite Courses: Textbook: 1. Pankaj Jalote, “An integrated approach to S/W engineering”, Narosa Publishers, 2nd Edition. 2. Ian Sommerville, “Software Engineering”, Addison-Wesley, seventh edition. 3. Pankaj Jalote, “Software Project Management in practice”, Pearson education References: 1. Roger S. Pressman, “Software Engineering: Practitioner’s Approach”. McGraw Hill 2. Jawadekar W.S., “Software Engineering”, Tata McGraw Hills. 3. Gillies A.C. and Smith p., “Managing Software Engineering: CASE studies andsolutions”, Chapman and Hall, London. 4. Bertrand Mayer ,“Object oriented software concepts”. Prentice Hall. Course Objectives : a. Unleash the orientation & importance of engineering approach to software development. b. Comprehend the knowledge of software processes & models practiced at IT industries. c. Be acquainted with the SDLC phases in detail. d. Emphasize on Design aspect with UML technology. e. Appreciate the importance of software quality by virtue of software testing methods. Course Learning Outcomes: a. Learner builds proficiency to undertake software projects based on software engineering practices. b. Learner gets acquainted with industry processes on software development. c. Industry-readiness: Learner imbibes soft skills essential for software engineer which are expected at IT industry. d. Learner realizes the spirit of team-working and importance of using artifacts at SDLC phases. e. Learner gets hands on expertise on CASE tools usage especially for design and testing of software. Assessments Tutorials: One hour per week per batch tutorial is to be utilized for problem solving to ensure that students have properly learnt the topics covered in the lectures. This shall include assignment, tutorials, quiz, and surprise test, declared test, seminar, final orals and any others. The teacher may add any of other academic activity to evaluate student for his/her in semester performance Teacher’s Assessment based on - Quiz/Home assignments/Mini Projects/any other (10%) Two Semester examinations SE I & SE II (20% each). Each examination is of one hour duration and will be assessed for 20 Marks on 33% of the syllabus covered (between start of the term and First Sem Exam i.e. Generally Module 1 and 2 for SE I and between SE I & SE II i.e. Generally Module 3 and 4 for SE II). ESE (50%) – Two hours duration and will be assessed for 50 Marks and would be on entire syllabus with weightage 20% each for the syllabus of SE I generally (module 1 and 2)and SE II generally (Module 3 and 4) and 60% on the syllabus covered after SE II generally (Module 5 and 6). Course Contents: Module 1: Software Processes Need of software engineering approach, ETVX model, project management process, software development process & models, configuration management process, process management process. 6 Module 2: Software Quality & Project Planning Quality objectives, need for improvement, software quality factors, quality standards, project management plan, cost estimation, project scheduling, staffing and personnel planning, risk management. Second Year Engineering U.G. Program Curriculums 2013-14 11 6 Module 3: Software Requirement Analysis & Function Oriented Design Software requirement process, need and characteristics of SRS artifact, design principles, module level concepts, design notation and specifications, structured design methodology. Module 4:Object Oriented Design with UML & CASE tools Object Technologies, UML meta-model, UML diagrams: Use-case, Class, Activity, Statechart, Interaction, Sequence, Collaboration, component, Deployment. Case studies on UML views & specifications for business requirements. Module 5: User Interface Design & Coding UI rules, UI analysis and steps in UI design, best programming practices, verification. 7 8 3 Module 6: Software Testing Testing fundamentals, testing concepts, purpose, test process, scenarios, levels of testing, regression testing, alpha and beta testing, Functional testing, Structural testing, test case 9 design. Module wise Students Learning Outcomes Module 1: Software Processes Awareness of Software processes & Models used at IT. Module 2: Software Quality & Project Planning Understand quality parameters and standards. Know project planning phases and responsibilities. Module 3: Software Requirement Analysis & Function Oriented Design As per SDLC phase understand requirement process and need of SRS artifact. Understand functional & non-functional requirements as well. Realize the importance of design aspects, concepts & methodology. Practices to learn how to draw DFD on requirements. Module 4:Object Oriented Design with UML & CASE tools Building capability to draw various UML diagrams on requirements. Articulating usage of CASE tools. Module 5: User Interface Design & Coding Know the UI aspect of interactive design for enterprise applications. Learn best coding standards and how to verify code. Module 6: Software Testing Understand how testing helps in quality of software. Know testing concepts, levels of testing. Learn and practice Black & white box testing along with test cases. Outcomes as regards to improvement in Professional Skills Software engineering course focuses not only on knowledge but on how to imbibe the soft skills required for being IT engineer. Especially for requirement gathering, elicitation, specifying various plans and other artifacts, team working, presentation skills etc. Computer Usage / Lab Tool CASE Tools: IBM Rational Suite. Laboratory Experiences: Brainstorming sessions to get perspectives on various processes in teams of 4 students batch wise. Hands on practice of SDLC phases with IBM Rational CASE tools viz requirement analysis, design & testing. Role plays in teams on SDLC phases to realize consequences of operations. Group discussions and question answering sessions based on learning of software engineering. Independent Learning Experiences: Access to resources made available on FTP server such as Infosys slides & videos through Campus Connect initiative. Second Year Engineering U.G. Program Curriculums 2013-14 12 Title of the Course: Processor Architecture 2DCS201 L-2 T-1 P-0 Cr-3 Scheme of Evaluation ISE SE-I SE-II ESE Minimum for Passing 10 20 20 50 40 Pre-Requisite Courses: First year Information Technology Basic Electronics course. Textbook: 1. Floyd & Jain, Digital fundamentals, Pearson education, eighth edition, 2007. 2. Ramesh S. Gaonkar, Microprocessor architecture, programming & applications, New Age International publication. 3. A K Ray & K M Bhurchandi, Advanced microprocessors & peripherals, second edition, TATA McGRAW-HILL education private limited, second edition, 2012. References: 1. Albert Paul Malvino & Donald P. Leach, Digital Principles & application, Tata McGRAW-Hill. 2. James Turley, Advanced 80386 programming techniques, Tata McGraw-Hill, second edition, 2005. Course Objectives : a. Understand the fundamental principles of logic design. b. Know the basic building blocks and operations of 8/16 bit microprocessors. c. Understand concept multiple processor systems. d. Learn assembly language programming. Course Learning Outcomes: The student should be able to a. Explain the concepts of digital logic design. b. Describe the architecture and organization of microprocessors c. Discuss the instruction set and develop assembly language program.. d. Design simple memory and input/output interface. Assessments Teacher’s Assessment based on - Quiz/Home assignments/Mini Projects/any other (10%) Two Semester examinations SE I & SE II (20% each). Each examination is of one hour duration and will be assessed for 20 Marks on 33% of the syllabus covered (between start of the term and First Sem Exam i.e. Generally Module 1 and 2 for SE I and between SE I & SE II i.e. Generally Module 3 and 4 for SE II). ESE (50%) – Two hours duration and will be assessed for 50 Marks and would be on entire syllabus with weightage 20% each for the syllabus of SE I generally (module 1 and 2)and SE II generally (Module 3 and 4) and 60% on the syllabus covered after SE II generally (Module 5 and 6). Course Contents: Module 1: Processor design basics Combinational logic & sequential logic design, excitation table, state transition diagram, system design. Module 2: Processor basics CPU organization, data path design, Introduction to processor technology, contemporary 8 bit microprocessor, microprocessor architecture, single chip microcomputer, microcomputer systems. Module 3: 8085 microprocessor The 8085 MPU, parametric considerations, internal architecture, introduction to 8085 assembly language programming, 8085 instructions. Module 4: Programming techniques & interfacing Writing assembly language programs, debugging, looping, counting, indexing, arithmetic operations related to memory, counters & delays, stacks, Interrupts, I/O (USB) interface, data communication. Module 5: Introduction to 8086 Functional & architectural comparison of 8085 & 8086, programming, implementing standard programming structures in 8086, string, procedure & macros. Second Year Engineering U.G. Program Curriculums 2013-14 13 Module 6: Multimicroprocessor system Interconnection topologies, software aspect, numeric processor, bus arbitration & control, tightly coupled & loosely coupled systems. Module wise Measurable Students Learning Outcomes Module 1: Processor design basics Able to design combinational logic design & sequential logic design, excitation table, state transition diagram, system design. Module 2: Processor basics Able to understand CPU organization, able to design data path, able to understand processor technology theory, contemporary 8 bit microprocessor, microprocessor architecture, single chip microcomputer, microcomputer systems. Module 3: 8085 microprocessor Able to understand 8085 MPU, parametric considerations, and internal architecture, able to write 8085 assembly language programs. Module 4: Programming techniques & interfacing Able to understand debugging, looping, counting, indexing, arithmetic operations related to memory, counters & delays, stacks. Able to apply programming techniques regarding interrupts, I/O interface, serial I/O & data communication. Module 5: Introduction to 8086 Able to differentiate functional & architectural concepts of 8085 & 8086. Module 6: Multimicroprocessor system Able to understand concept of multimicroprocessor system. Outcomes as regards to improvement in Professional Skills Exhibit knowledge of scientific concepts through written and oral communication. Computer Usage / Lab Tool Simulation & design softwares like sim85, PSpice etc. Laboratory Experiences: 1. Design & development of logic circuits. 2. Developing assembly language programs. Independent Learning Experiences: The Scientific Method is predicated upon deductive and inductive logical reasoning. Students will study applications of the scientific method to information gathered by them. Students will read articles about processor technology & discoveries. Abstract thinking is developed in many ways in subject by using symbols and models. Use of modern library searching and retrieval methods to obtain information about a topic. Second Year Engineering U.G. Program Curriculums 2013-14 14 Course Code : 2ICS 201 Title of the Course: Foundation of Computer Science 2ICS201 L-03 T-0 P-00 Cr-03 Pre-Requisite Courses: Fundamental Knowledge of Maths Textbook: 1. J.P.Tremblay & R.Manohar, “Discrete Mathematical Structures with Applications to Computer Science”, TMH, 2008 2. John C. Martin, “Introduction to Languages & Theory of Computation”, TMH, 3rd Ed. 2003 3. Horowitz, Sahni and Rajasekaran, “Fundamentals of Computer Algorithms”, Galgotia Publications 2005. References: 1. ” Discrete Mathematics & its application “ by Kenneth RosenTMG 2. “John E.Hopcraft, Rajeev Motwani, Jeffrey D. Ullman, “Introduction to Automata Theory, Languages and Computations”, Pearson Edu. 3rd Ed. 2009 3. Thomas Cormen, “Introduction to Algorithms”, PHI Pub. IInd Ed. Course Objectives : Learning Objectives : To Understand fundamentals of Computer Science and Engg. To Grasp mathematical logic, Graph primitives and applications To Study Grammar, Languages and their relationships. To Design Automata/machines as language descriptors and recognizers. To design, and develop algorithms with complexity analysis Course Learning Outcomes: Language based problem formulation with Computer based solutions. Problem classification with suitable complexity classes. Building of thought process with abstract m/c designs towards actual end applications in the field of Computer Science. Applying algorithmic design strategies to solve real life problems. Assessments Course Contents: Module 1. Mathematical Logic & Set Theory 5 Hrs Notations and Expressions, Propositional & Predicate Logic, Tautologies and formulae, Sets and sequences, set operation, Venn Diagram, Recursion & Proofs. Module 2. Relations and Functions 6 Hrs Relations, Pictorial representation of Relations, Properties of binary relation, Equivalence Relations, Graph theory basics and Computer Applications. Module 3. Grammar & Languages 7Hrs Definition and types of grammars and languages, derivation trees and Parsing, Language operations and properties. Module 4. Language Recognizers 7 Hrs Determinism, Non-determinism, Behavior & Design of FSM, PDA, TM as Language Acceptors, Turing Computability. Module 5. Algorithms and complexity 7 Hrs Algorithm fundamentals, Specification, Performance measures, Searching –Sorting methods. Module 6.Algorithm design Methods 7 Hrs Second Year Engineering U.G. Program Curriculums 2013-14 15 Divide and conquer Greedy, Dynamic Programming, Backtracking and examples, Introduction to P-NP problem. Module wise Students Learning Outcomes Module 1: Development of computability logic Understanding of problem proving & solution styles Module 2: Diagrammatic representation of data and function indicating relations and its characteristics Mathematical background towards graph based problem solving approach Module 3: Understanding of language syntax, grammar & its types Graphical representation of derivation trees & examples Module 4: Design of language acceptors/machines Classification of m/c behaviors according to language characteristics Module 5: Understanding basic algorithms and measuring the computational complexity Algorithmic analysis of various data searching & sorting techniques Module 6: Study of various algorithm design approaches Classification of P & NP problems Outcomes as regards to improvement in Professional Skills This is a basic computer sci. course with computer engg. applications. The quizzes, assignments, mini projects and seminars will help to improve the presentation and professional skills of the students. Computer Usage / Lab Tool The language & grammar problems can be developed and analyzed with the machine designs using any suitable computer programming language. Various computational problems can be selected as case studies for measuring complexities. A number of research papers are available on the NET which can be studied to improve problem solving ability with the help of computers. Laboratory Experiences: Assignments based on: M/c designs and language recognition, Graphical derivation, P & NP problem solving. Independent Learning Experiences: Tutorials based on: Proofs, Grammar, Languages and operations, Complexity computations & classification. Second Year Engineering U.G. Program Curriculums 2013-14 16 Title of the Course: Data Structures Lab Scheme of Evaluation ISE 50 2CS252 ESE 50 L- 0 T- 0 P- 2 Cr- 1 Minimum for Passing 20 (ISE) + 20 (ESE) Pre-Requisite Courses: Programming in C including pointers and File Handling Textbook: 1. Richard F. Gilberg, Behrouz A. Forouzan, Data Structures, A Pseudocode Approach With C, Cengage Learning, Second Edition, 2005 2. S. Lipschutz, Data Structures, Schaum's Outlines Series, Tata McGraw-Hill, 3. Ellis Horowitz, S. Sahni, D. Mehta, Fundamentals of Data Structures in C++, Galgotia Book Source, New Delhi, References: 1. Yashavant Kanetkar, Understanding pointers in C, BPB Publication 2. R. G. Dromey, How to Solve it by Computer, Prentice-Hall of India 3. Brian W. Kernighan and Dennis M. Ritchie, The C Programming Language, Prentice Hall of India. 4. Jean-Paul Tremblay, Paul. G. Soresan, An introduction to data structures with Applications, Tata Mc-Graw Hill International Editions, 2nd edition 1984 5. Michael Berman, “Data structures via C++”, Oxford University Press, 2002 6. N. B. Venkateshwarlu, E. V. Prasad, C and Data Structures, S. Chand and Company, 2010 Course Objectives : a. To develop and improve skills in programming in a systematic way and preparing the students for advanced computer science courses. b. To understand the concept of ADT and to use appropriate data structure for modeling given problem. c. To study concept of recursion, various searching and sorting algorithms with their performance comparisons d. To apply systematically theoretical knowledge to design practical applications through laboratory work as well as the real world problem solving on the small scale. e. To work in small teams to solve the problems. Course Learning Outcomes: Students who complete the course, will be able to a. Think logically to formulate the problem solution. b. Use various data structures effectively in application programs. c. Demonstrate understanding of the abstract properties of various data structures, design, implement, test, and debug programs using a lists, stacks, queues, binary tree, search trees, heaps, graphs etc d. Discuss various searching and sorting algorithms with their performance comparisons and use the appropriate one while developing the applications. e. Work in small teams for real world problem solving on small scale. Assessments Teacher’s Assessment based on – Laboratory performance, assignments, Tests, Report containing experiments, Orals (50%) External examination, Performance, Oral (50%) Course Contents: Assignments based on topics covered in course CI203 1. Program based on structures and pointers in C 2. Program based on arrays and pointers in C 3. File handling and command line arguments 4. Implementation of recursion 5. Developing ADT for singly linked list and its applications Second Year Engineering U.G. Program Curriculums 2013-14 17 6. Developing ADT for Doubly linked list and its applications 7. Developing ADT for circular linked list and its applications 8. Developing ADT for stack and queue and their applications 9. Implementation of double ended queue 10. Implementation of recursive and non-recursive tree traversals 11. Binary search tree and application 12. Implementation of graph, DFS, BFS 13. Implementation of searching : linear search, binary search, Fibonacci search 14. Sorting Methods: Insertion sort, shell sort, heap sort, quick sort, merge sort, radix sort etc. 15. Implementation of hashing Module wise Students Learning Outcomes Outcomes as regards to improvement in Professional Skills Students are encouraged to work in small groups and interact with the fellow students. Mini project presentations will improve the communication skills of the students Computer Usage / Lab Tool As data structures is the core course in computer science and information technology, extensive lab sessions are required. Further few animated tools to learn the concepts in data structures need to be used. Laboratory Experiences: Assignments include drawing the flowcharts, algorithms, data dictionary and implementation in C/C++ with debugging tool. It may include small projects in group of 2-3 students. Independent Learning Experiences: Tutorials to improve the logical abilities to solve the problems using computers Tutorials to provide solution to the problems based on different data structures and then comparing and analyzing the solutions. Discussions related to the solutions provided by various groups Second Year Engineering U.G. Program Curriculums 2013-14 18 Title of the Course: Programming Lab-I 2CS255 L-2 T-0 P-4 Cr-4 ISE ESE Minimum for Passing 50 50 20 (ISE) + 20 (ESE) Pre-Requisite Courses: Introduction to any Programming Language Scheme of Evaluation Textbook: 1. Herbert Schildt, The Complete Reference: C++ Tata McGraw-Hill,4th Edition,2010 References: 1. Stanley B. Lippman , C++ Primer Pearson , 4th Edition, Jan 2010 2. Robert Lafore, “Object oriented programming in Turbo C++ - “ SAMS publication,4th Edition Course Objectives : a. Students would differentiate between procedure oriented languages and object oriented languages by leaning the features of object oriented programming paradigm. b. Students would demonstrate adeptness of object oriented programming in developing solutions with usage of data abstraction, encapsulation, and inheritance. c. Students would learn syntax, features of, and how to utilize the Standard Template Library. Learn other features of the C++ language including templates, exceptions, forms of casting, conversions, covering all features of the language. Course Learning Outcomes: a. Describe the difference between procedures oriented and object oriented language. b. Understand the meaning and interpretation of object oriented features like inheritance, polymorphism etc. c. Apply the top down approach of object oriented programming while solving the real life application. d. Understand use of template and STL in programming Assessments Teacher’s Assessment based on – Laboratory performance, assignments, Tests, Report containing experiments, Orals (50%) External examination, Performance, Oral (50%) Course Contents: Module 1: An Overview of C++: The Origins of C++, Encapsulation, Polymorphism, Inheritance, Function Overloading, Operator Overloading, Constructors & Destructors, C++ key words. Classes & Objects: Relation of Classes, Structures & Union, Friend Functions, Friend Classes, Inline Functions, Parameterized constructors, Static class members, Scope resolution operators, Passing objects to functions, nested classes, and local classes. 6 Module 2: Arrays, Pointers, Dynamic Allocation Operators: Arrays of objects, Pointers to objects,Type checking C++ Pointers, This Pointer, Pointers to derived types, Pointers to class members, Dynamic allocation operators- new & delete operators. Function Overloading, Operator Overloading, Copy Constructors & Default Arguments: Function overloading, Overloading constructor function, copy constructors, Operator overloading using friend function, Overloading new & delete operators, overloading some special operators like [],(),->,Comma operator. 6 Module 3: Inheritance: Single Inheritance, multilevel Inheritance, multiple Inheritance, hybrid Inheritance, hierarchical Inheritance, Virtual base classes. Virtual Functions & Polymorphism: Pure virtual function, calling virtual function through a base class, Abstract classes, Early vs. Late binding. 5 Module 4: File and Streams: Streams, String I/O, Character I/O, Object I/O, I/O with multiple objects, File pointers and redirections. Exception Handling: Fundamentals, Handling derived class Second Year Engineering U.G. Program Curriculums 2013-14 19 xceptions, exception handling options: catching, throwing & handling of the exception. 5 Module 5: Templates: Generic classes, Generic functions, Applying generic functions, type name & export keyword, power of templates. 4 Module 6: Overview of Stream classes, Run-Time Type ID, Namespaces & Standard Template Library: C++ streams, C++ stream classes, RTTI, Namespace fundamentals, STL containers, STL algorithms, STL iterative. 4 Module wise Students Learning Outcomes Module 1: Students will learn the features of the object oriented language like abstraction, encapsulation, inheritance etc. Module 2: Understand the basic language constructs like array,pointers. Module 3: Learn the usage of features like virtual functions and inheritance in programming. Module 4: Will be able to use File and streams as an integral part of programming. Also will learn to handle the exceptions. Module 5: Students will understand the concepts of templates and STL and their usage in programming. Module 6: Knowledge of namespace & use of STL. Outcomes as regards to improvement in Communication Skills Phases of professional software development can be experienced by a student. Computer Usage / Lab Tool c++ on linux with Eclipse Laboratory Experiences: 4-6 assignments should consist of implementing ALL following concepts- Constructor, Destructor, Function overloading, Constructor overloading, Operator overloading, Multiple inheritance, Multilevel inheritance, Static variables, Function in class, Virtual function, Virtual class, Virtual destructor, Function template, Friend class and function, File handling, Templates, STL. 1. 2. 3. 4. 5. 1. 2. 3. 4. 5. 3-4 assignments on implementing object oriented programs for the problems of Discrete Mathematical Structure like – Representing a Set in bit form and implementing the set operation like-Union, Intersection, Relative Complement, symmetric difference etc. Conversion of Polish expressions. Obtaining path matrix and paths of different lengths. Evaluating polynomial expression (PE) using linked list and performing operations on PE like Multiplication, addition subtraction, etc. Check dead lock for any given resource allocation graph. 3-4 assignments on implementing the data structures likeImplement sorting /searching algorithms using function template and virtual function. Implement stack / queue using class template. Implement B/B+ tree and performing operation on the tree using object oriented concepts Create a linked list as an object. Perform merging of two objects (linked lists) and splitting of object. (Use operator overloading). Implement hashing and rehashing (considering occurrence of overflow). Independent Learning Experiences: Student can better understand the working of data structures, some concepts of discrete structure through design and developing small problems as homework. Second Year Engineering U.G. Program Curriculums 2013-14 20 Semester II Title of the Course: Theory of Computation 2CS211 Scheme of Evaluation ISE 10 SE-I 20 L- 3 SE-II 20 ESE 50 T- 1 P- 0 Cr- 4 Minimum for Passing 40 Pre-Requisite Courses: Discrete Mathematics Textbook: 1. John C. Martin, “Introduction to Languages & Theory of Computation”, TMH, 3rd Ed. 2003 2. John E.Hopcraft, Rajeev Motwani, Jeffrey D. Ullman, “Introduction to Automata Theory, Languages and Computations”, Pearson Edu. 3rd Ed. 2009 References: 1. J.P.Tremblay & R.Manohar, “Discrete Mathematical Structures with Applications to Computer Science”, TMH, 2008 2. Michael Sipser, “Introduction to Theory of Computations”, Thomson Brooks/Cole, 2002 3. K.L.P. Mishra & N. Chandrasekaran, “Theory of Computer Science”, PHI, 2nd Ed. 2002 Course Objectives : a. To understand fundamentals of computer mathematics. b. Study of Grammar, Languages and their relationships. c. Design of Automata/machines as language descriptors and recognizers. Course Learning Outcomes: a. Formulate language based problem. b. Classify problems with suitable complexity classes. c. Design abstract machines for system applications Assessments: Tutorials: One hour per week per batch tutorial is to be utilized for problem solving to ensure that students have properly learnt the topics covered in the lectures. This shall include assignment, tutorials, quiz, and surprise test, declared test, seminar, final orals and any others. The teacher may add any of other academic activity to evaluate student for his/her in semester performance Teacher’s Assessment based on - Quiz/Home assignments/Mini Projects/any other (10%) Two Semester examinations SE I & SE II (20% each). Each examination is of one hour duration and will be assessed for 20 Marks on 33% of the syllabus covered (between start of the term and First Sem Exam i.e. Generally Module 1 and 2 for SE I and between SE I & SE II i.e. Generally Module 3 and 4 for SE II). ESE (50%) – Two hours duration and will be assessed for 50 Marks and would be on entire syllabus with weightage 20% each for the syllabus of SE I generally (module 1 and 2)and SE II generally (Module 3 and 4) and 60% on the syllabus covered after SE II generally (Module 5 and 6). Course Contents: Module 1: Proofs and Regular Languages Types of Proofs, Mathematical Induction and Recursive definitions with examples, Regular expressions & corresponding regular languages, examples and its applications, unions, intersection & complements of RL 6 Module 2: Finite State Machines Deterministic finite automata definition and representation, Nondeterministic F.A., NFA with ^ transitions, Equivalence of DFAs, NFAs and NFA-^s. Kleene's theorem & proofs, minimum state FA for a regular language, minimizing number of states in an FA 10 Module 3: Grammars & Languages Definition and types of grammars and languages, derivation trees and ambiguity, CFL's & Non CFL's., Union, Concatenation and Kleene’s operations, Intersection and complements of CFLs, Pumping Second Year Engineering U.G. Program Curriculums 2013-14 21 Lemma & examples 6 Module 4: Push Down Automata Definition, deterministic PDA, types of acceptance and conversions to each other, CFGs & PDAs., Top-Down, & Bottom-up parsing 6 Module 5: Chomsky Normal Form BNF and CNF notations, Eliminating ^ production and unit productions from a CFG, Eliminating useless variables from a Context Free Grammar 3 Module 6: Turing Machines Models of computation, definition of TM as Language Acceptors, Combining Turing machines, computing a function with a TM. Variations in TM, TMs with doubly-infinite tapes, more than one tape, Nondeterministic TM and Universal TM 8 Module wise Measurable Students Learning Outcomes Module 1: Building of problem solving approaches. Formulation of language defining symbols and their operations. Module 2: Machine abstraction and design. Preliminary understanding of P & NP class language problems. Module 3: Understanding of language syntax & grammar. Study of CFL and its properties. Module 4: Design of PDA and its equivalences. Graphical representation of derivation trees. Module 5: Understanding of language normal forms. CNF notations to represent grammar in binary derivation trees. Module 6: Study of TM and their variations. Design of soft machines for solvable problems. Outcomes as regards to improvement in Professional Skills This is Research specific course. Computer Usage / Lab Tool Being the fundamental course in Computer Science, it is expected to prepare a strong basis of Computer Mathematics. The design problems can be simulated with the help of computers using any suitable programming language (e.g. C/C++/ Java). The majority of the soft tools available on the NET are the research outcomes of the theoretical computer Science experiments which can be used as the guidelines for further studies and developments in the related courses. Laboratory Experiences: Assignments based on: Recursion, Automata designs and testing, Graphical representations, Parsing, Token processing, Graph based problem solutions. Independent Learning Experiences: Tutorials based on: Proofs, Grammar and normal forms, Languages and operations, M/c designs, Conversions and equivalences. Second Year Engineering U.G. Program Curriculums 2013-14 22 Title of the Course: Computer Network 2CS212 L- 3 Scheme of Evaluation Minimum for Passing 40 ISE SE-I SE-II ESE 10 20 20 50 Pre-Requisite Courses: Data Communication and Networking. T- 0 P-0 Cr- 3 Textbook: 1. Andrew S. Tanenbaum, “Computer Networks”, PHI, Fourth Edition. References Books: 1. William Stallings, “Data and Computer Communications”, PHI, 8th Edition. 2. Behrouz A. Forouzan ,“Data communication and Networking”, TMGH, 4th Edition. 3. James F. Kurose and Keith W. Ross, “Computer Networking: A Top-Down Approach Featuring the Internet”, Pearson Education, 2003. 4. Behrouz A. Forouzan ,”TCP/IP Protocol Suite”, Tata McGraw Hill edition, Third Edition. 5. TCP/IP Volume 1, 2, 3, (W. Richard Stevens), Addison Wesley. 6. Jeffery S. Beasley “Networking”,2nd edition New Riders Press. 7. Richard Steven ,“Unix network programming”, (PHI) for Socket Programming (2nd Edition.) 8. Larry L. Peterson , Bruce S. Davie ” Computer Networks, Fifth Edition: A Systems approach” (The Morgan Kaufmann Series in Networking) Morgan Kaufmann; 5 Edition. 10. Prof. Devan N. Shah, Prof D. Ambawade,” Hands on Linux”, Dreamtech. 11. N. Olifer, V.Olifer, “Computer Networks: Principles, Technologies and Protocols for Network design”, Wiley India Edition. Course Objectives : a. To learn protocol functions and issues related to design/performance of computer networks b. To study wireless networking concepts. c. To analyze and compare various networking technologies. Course Learning Outcomes: At the end of the course a student will: 1. Describe the knowledge of computer networks. 2. Analyze the features and operations of protocols under various layers 3. Combine the use of technique, skill, and modern networking tools necessary for engineering practice. Assessments: Teacher’s Assessment based on - Quiz/Home assignments/Mini Projects/any other (10%) Two Semester examinations SE I & SE II (20% each). Each examination is of one hour duration and will be assessed for 20 Marks on 33% of the syllabus covered (between start of the term and First Sem Exam i.e. Generally Module 1 and 2 for SE I and between SE I & SE II i.e. Generally Module 3 and 4 for SE II). ESE (50%) – Two hours duration and will be assessed for 50 Marks and would be on entire syllabus with weightage 20% each for the syllabus of SE I generally (module 1 and 2)and SE II generally (Module 3 and 4) and 60% on the syllabus covered after SE II generally (Module 5 and 6). Course Contents: Module 1: Data link : The Medium Access Control Sub layer: The Channel Allocation Problem-Static and Dynamic Allocation, Multiple Access ProtocolsALOHA, CSMA, CSMA/CD, WDMA, WLAN. Ethernet-cabling, coding, MAC Protocol, Binary exponential back off algorithm, performance, switched Ethernet, fast Ethernet, gigabit Ethernet, IEEE 802.2LLC. Wireless LANs-802.11 stack, physical layer, MAC, frame structure. Broadband Wireless-comparison of 802.11 and 802.16 and 802.16 introduction. 6 Module 2 : The Medium Access Control Sub-layer Bluetooth-architecture, application, protocol stack, radio and base band layer, L2Cap layer and Frame structure. Data Link Layer Switching- Bridge, hub, repeater, switch, router, Second Year Engineering U.G. Program Curriculums 2013-14 23 gateways, VLAN. The Network Layer: Network Layer Design Issues-packet switching, services to transport layer, implementation of connectionless and oriented service, comparison VC and datagram subnets. Routing Algorithms- principal of optimality, static and dynamic routing, flooding. Congestion Control Algorithms- principals, prevention policies, VC and datagram subnets, jitter and load shedding. 8 Module 3: The Network Layer: Quality of Service-requirements, techniques for achieving good quality of service, Integrated and differentiated services, Label switching and MPLS. Internetworking-concatenated VC, Connectionless Internetworking, tunneling, Internetwork routing, fragmentation. The Network Layer in the Internet:-IP ,address, internet control protocols-SPF, BGP, Internet Multicast Protocol, Mobile IP,IPv6. 6 Module 4: The Transport Layer: The Transport Service-services to upper layer, service primitives, Berkley Socket, “C” Socket programming details. The Transport Layer: Elements of Transport Protocols- addressing, connection establishment, release, flow control, buffering, multiplexing, crash recovery. A Simple Transport Protocol The Internet Transport Protocols- introduction to UDP, RPC, RTP. 7 Module 5: The Internet Transport Protocols: TCP service model, TCP protocol, TCP segment header, TCP connection establishment, Release, congestion control in TCP, timer management, Wireless TCP and UDP. Performance Issues-problem in computer network, performance measurement, design for better performance, fast TPDU processing, protocols for gigabit networks. 6 Module 6: The Application Layer: DNS—The Domain Name System-name space, resource records, name servers. Electronic Mail- architecture and service, user agent, message format and transfer final delivery. The World Wide Web-architecture overview, tactic and dynamic web documents, HTTP, performance enhancements, wireless web. Multimedia-Introduction to audio and video communication and compression, Voice over IP. 6 Module wise Measurable Students Learning Outcomes Module1 : To understand the protocols and working of data link layer Module2 : To get the knowledge of medium access control and functioning of network layer Module3 : To use the techniques for quality of services provided by network layer. Module4 : To understand the services provide by transport layer to its upper layers Module5 : To understand the working of internet transport protocol Module6 : To analyze simple computer networks and ability to solve network engineering problems. Outcomes as regards to improvement in Communication Skills Students are encouraged to work in small groups and interact with the fellow students. Second Year Engineering U.G. Program Curriculums 2013-14 24 Computer Usage / Lab Tool C language and network lab. Network analyzing tools -Wireshark, TCPDUMP etc. “c” language and “c” socket programming Laboratory Experiences: 10-12 assignments on the topics covered in theory. It may include small projects in group of 2-3 students. It must include writing algorithms and implementation using c language / socket programming. Independent Learning Experiences: With the help of Implementation each student will understand theory concept very well. Second Year Engineering U.G. Program Curriculums 2013-14 25 Title of the Course : Operating System 2CS213 Scheme of Evaluation ISE 10 SE-I 20 L- 3 SE-II 20 ESE 50 T - 1 P-0 Cr- 4 Minimum for Passing 40 Pre-Requisite Courses: Textbook: 1. Silberschatz, Galvin, Gagne “Operating System Concepts”, John Wiley, 8th Edition.2011 References: 1. Charles Crowley, “Operating System A Design Oriented Approach”, Tata McGraw Hill. 2. Achyut S. Godbole, “Operating System with Case Studies in Unix, Netware and Windows NT”, Tata McGraw Hill. Course Objectives : 1. To learn the basic concepts of operating system, system structure, services, operations in OS 2. To understand thoroughly a process : basic unit of working in OS, process synchronization & deadlock handling. 3. To practice different CPU scheduling, resource allocation and memory management problems. 4. To know memory management concept, file handling and I/O device Management. 5. To study and analyze existing OS w.r.t. different components listed above. Course Learning Outcomes: The students who complete the course, will be 1. able to describe the basic concepts of OS, different components, services and working, and to analyze the problem in working of OS. 2. compare & evaluate different OS for particular applications. 3. design / analyze process management done in Operating System. 4. able to solve CPU scheduling, resource allocation and memory management problems. 5. able to discuss I/O system in depth and OS security issues. Assessments Tutorials: One hour per week per batch tutorial is to be utilized for problem solving to ensure that students have properly learnt the topics covered in the lectures. This shall include assignment, tutorials, quiz, and surprise test, declared test, seminar, final orals and any others. The teacher may add any of other academic activity to evaluate student for his/her in semester performance Teacher’s Assessment based on - Quiz/Home assignments/Mini Projects/any other (10%) Two Semester examinations SE I & SE II (20% each). Each examination is of one hour duration and will be assessed for 20 Marks on 33% of the syllabus covered (between start of the term and First Sem Exam i.e. Generally Module 1 and 2 for SE I and between SE I & SE II i.e. Generally Module 3 and 4 for SE II). ESE (50%) – Two hours duration and will be assessed for 50 Marks and would be on entire syllabus with weightage 20% each for the syllabus of SE I generally (module 1 and 2)and SE II generally (Module 3 and 4) and 60% on the syllabus covered after SE II generally (Module 5 and 6). Course Contents: Module 1: Overview Introduction : What operating systems Do, Computer system organization, Computer System architecture, Second Year Engineering U.G. Program Curriculums 2013-14 26 Computer System Structure, Operating System Operations, Process Management, Memory Management, Storage Management, protection and security, distributed systems, special purpose systems. Computing environments, open source operating systems. 3 System Structure : Operating system services, user operating system interface, system calls, types of system calls, system programs, operating system design and implementation, operating system structure, virtual machines, operating system debugging, operating system generation, system boot. 3 Module 2: Process Management Process Concept : Process concept, process scheduling, operation on process, interprocess communication, example of IPC systems, communication in client-server systems. 3 Process Scheduling: Basic concepts, scheduling criteria, scheduling algorithm, thread scheduling, multipleprocessor scheduling, operating system examples, algorithm evaluation. 4 Module 3: Process Coordination Synchronization : Background, the critical section problem, Peterson’s solution, synchronization hardware, semaphores, classic problems of Synchronization, monitors, synchronization examples, atomic transactions. 3 Deadlock : System model, deadlock characterization, methods for handling deadlocks, deadlock preventions, deadlock avoidance, deadlock detection, recovery from deadlock. 3 Module 4: Memory Management Memory-Management Strategies : Background, swapping, contiguous memory allocation, paging, structure of the page table, segmentation, example : The Intel Pentium. 3 Virtual Memory Management : Background, demand paging, copy-on-write, page replacement, allocation of frames, Thrashing, memory mapped files, allocating kernel memory, other considerations, operating system examples. 4 Module 5: Storage Management File System : File concept, access methods, directory and disk structure, file-system mounting, file sharing, protection. 3 Implementing File System : File system structure, file-system implementation, directory implementation, allocation methods, free-space management, efficiency and performance, recovery, NFS, Example : The linux file system. 4 Module 6: I/O System & Security I/O System : Overview, I/O hardware, application I/O interface, kernel I/O subsystem, transforming I/O requests to hardware operations, STREAMS, performance. 3 Second Year Engineering U.G. Program Curriculums 2013-14 27 System Security : The security problem, program threats, system and network threats, cryptography as a security tool, user authentication, implementing security defenses, firewalling to protect systems and network, computer security classifications, An example : Windows / Linux. Module wise Students Learning Outcomes Module 1: 1. Understand the basic concepts of OS, overview of different components of OS. 3 2. Learn the system structures, their services, interfaces. Module 2: 1. Learn the concept of process, process scheduling, inter-process communication. 2. Implementation of scheduling algorithm, thread scheduling, multiprocessing. Module 3: 1. Understanding of synchronization mechanism, critical section problem. 2. Design and implementation of optimal synchronization algorithm. 3. Implementing deadlock handling algorithm Module 4: 1. Memory management strategies – swapping, paging, segmentation. 2. Implementation of page replacement policy algorithm 3. Implementation of Virtual Memory Management Module 5: 1. Basic file storage organization, file system concepts 2. Implementation of file systems : case study of Linux/AIX/Win Module 6: 1. I/O implementation in OS, mapping of I/O requests to H/W operations, performance evaluation. 2. Basic mechanism of security in OS. 3. Cryptography techniques in OS security. Outcomes as regards to improvement in Professional Skills Students are encouraged to work in small teams. Students are assigned an independent study of various OS, literature survey. Small presentations based on work carried out, will improve the communication skills of the students. Computer Usage / Lab Tool As Operating System is the core course in computer science and engineering, extensive lab sessions / case studies are required. Laboratory Experiences: Laboratory work will involve the study of internals of OS like Linux/AIX, Windows, MAC. Independent Learning Experiences: Students in a team will solve different exercise problems from the books mentioned. Representative assignment list is: Second Year Engineering U.G. Program Curriculums 2013-14 28 1. Explain how degree of multiprogramming affect CPU utilization. Does the increment of degree of multiprogramming always increase the CPU utilization? 2. Explain how Virtual Memory system, memory ‘page fault’ affects CPU utilization. 3. Mention the purpose of Filesystem Hierarchy Standard (FHS). 4. Explain the difference between data that is : a. “shareable” and “un-shareable”. b. “static” and “variable”. 5. Explain/give illustration of a directory that is: a. “shareable” and “static”. b. “shareable” and “variable”. c. “unshareable” and “static”. d. “unshareable” and “variable”. 6. Why do we need IPC? Explain different problems in IPC. 7. Explain different page replacement algorithms. 8. Explain different process scheduling alogrothms.s 9. Case study of different Operating systems – Unix/Linux/AIX, Windows, MAC. Second Year Engineering U.G. Program Curriculums 2013-14 29 Title of the Course: Database Engineering 2CS214 Scheme of Evaluation ISE 10 Pre-Requisite Courses: Data Structures SE-I 20 L- 3 SE-II 20 ESE 50 T- 0 P- 0 Cr- 3 Minimum for Passing 40 Textbook: 1. Abraham Silberschatz, Henry F. Korth and S. Sudarshan, Database System Concepts, Mc-Graw Hill, 4th Edition 2002 / 6th Edition 2011 References: 1. Raghu Ramakrishnan and Johannes Gehrke, Database Management Systems, 3rd Edition. 2002 2. Ramez Elmasri and Shamkant Navathe, Benjamin Cummings, Fundamentals of Database Systems, 3rd Edition, 1999 / later Course Objectives : a. To learn various functional components of database system and basic concepts of conceptualdatabase design. b. To use conceptual designs to prepare database schemas. c. To understand the relational model and the theoretical issues associated with relational database design. d. To learn SQL and to understand fundamentals of indexing, transaction processing, concurrency and recovery control issues associated with database management systems Course Learning Outcomes: 1. Students who complete the course, will be able to understand the problem statement of an enterprise, identify the need, analyse the problem and design ER diagram for the enterprise as well as prepare the relational database schema for the enterprise. 2. identify integrity constraints, use functional dependencies and normal forms for efficient design. 3. write queries in SQL to extract required information from the database. Compare, analyse various ways of writing the queries for a given problem. 4. describe and use the concepts of indexing, transaction processing, concurrency control and recovery of databases. Assessments Teacher’s Assessment based on - Quiz/Home assignments/Mini Projects/any other (10%) Two Semester examinations SE I & SE II (20% each). Each examination is of one hour duration and will be assessed for 20 Marks on 33% of the syllabus covered (between start of the term and First Sem Exam i.e. Generally Module 1 and 2 for SE I and between SE I & SE II i.e. Generally Module 3 and 4 for SE II). ESE (50%) – Two hours duration and will be assessed for 50 Marks and would be on entire syllabus with weightage 20% each for the syllabus of SE I generally (module 1 and 2)and SE II generally (Module 3 and 4) and 60% on the syllabus covered after SE II generally (Module 5 and 6). Course Contents: Module 1: Introduction and Database Modeling using ER Model Introduction: General introduction to database systems, its advantages and applications, Database System Architecture, Database users and Administrator, Data models, Database management system, Database languages, View of Database, Data Models. ER Model: Entity set, Entity types, attributes, Notations, Relationship sets, Relationship types, Keys- super key, candidate key, primary key, Extended Features of ER ModelGeneralization, Specialization and aggregation 6 Module 2: Relational Model and SQL Relational Model: Structure of Relational Database, Reduction of ER model into Relational schemas, Schema-instance distinction, Referential integrity and foreign keys, Relational algebra, Tuple relation calculus, Domain relational calculus, Example queries, SQL: Introduction to SQL, Data definition statements with constraints, Insert, Update and Delete, Set Operations, Aggregate functions group by and having clauses, Nested Queries, Second Year Engineering U.G. Program Curriculums 2013-14 30 Views, Complex Queries, Joins. 8 Module 3: Relational Database Design Importance of a good schema design, Motivation for normal forms, Atomic domains and 1NF, Dependency theory - functional dependencies, Closure of a set of FD's, Definitions of 2NF, 3NF and BCNF, Decomposition algorithms and desirable properties of them, Multivalued dependencies and 4NF, Join dependencies and definition of 5NF, Temporal Functional Dependencies 7 Module 4: Data Storage and Indexing File organization, Organization of records in files, Data Dictionary, Database Buffer, Indexing: Concept, Ordered Indices-Primary, Secondary, Multilevel, B+ Tree Index, Hashing, Hash Indices, Dynamic hashing, Multiple key access, Bitmap Indices 7 Module 5: Transaction Processing and Concurrency Control Transaction Processing: Concept, ACID properties, Transaction states, Storage Structure, Implementation of atomicity, isolation and durability, Serializability, Testing for serializability. Concurrency Control: Lock-based protocols, Timestamp - based Protocols, Validation based Protocols, Multiple Granularities, Deadlock handling. 7 Module 6: Recovery System Failure classification, Storage structure, Implementation of stable storage, Recovery and Atomicity, Log based recovery, Checkpoints, Shadow Paging, Buffer management in crash recovery. 5 Module wise Measurable Students Learning Outcomes Module 1: Understanding the concept of database system and its applications. Studying database system architecture and various database models. Understanding the problem statement and preparing the conceptual model using ER diagram. Module 2: Studying and implementing relational data model using any RDBMS. Extracting information from the database using SQL Module 3: Studying functional dependency and various normal forms for “good” database design Module 4: File organization concepts and various indexing techniques Module 5: Concept of transaction and implementing transactions. Concurrency Mechanisms and hands-on experimentation Module 6: Study of recovery mechanisms in database systems Outcomes as regards to improvement in Professional Skills Students are encouraged to work in small groups and interact with the fellow students. Mini project presentations will improve the communication skills of the students Computer Usage / Lab Tool As database engineering is one of the core courses in computer science and information technology, extensive lab sessions are required. The tools to draw the ER diagrams and schemas to be used. Laboratory Experiences: Separate Lab Course 1CS 262 Independent Learning Experiences: Assignments to be carried out using any RDBMS other than that used in labs. Tutorials and small projects for self study. Second Year Engineering U.G. Program Curriculums 2013-14 31 Title of the Course: Data Structures with Programming Languages 2ICS211 Scheme of Evaluation ISE SE-I SE-II ESE 10 20 20 50 Pre-Requisite Courses: Programming in C L- 3 T- 0 P- 0 Cr- 3 Minimum for Passing 40 Textbook: 1. S. Lipschutz, Data Structures, Schaum's Outlines Series, Tata McGraw-Hill 2. E. Balgurusamy, Object- Oriented Programming with C++, Tata McGraw-Hill 3. Robert Lafore, Object Oriented Programming, Tata McGraw-Hill 4. Ellis Horowitz, S. Sahni, D. Mehta, Fundamentals of Data Structures in C++, Galgotia Book Source, New Delhi, References: 1. S. Lipschutz, Data Structures, Schaum's Outlines Series, Tata McGraw-Hill 2. E. Balgurusamy, Object- Oriented Programming with C++, Tata McGraw-Hill 3. Robert Lafore, Object Oriented Programming, Tata McGraw-Hill 4. Ellis Horowitz, S. Sahni, D. Mehta, Fundamentals of Data Structures in C++, Galgotia Book Source, New Delhi, Course Objectives : 1. To develop and improve skills in programming in a systematic way and preparing the students for advanced computer science courses. 2. To learn to use recursion in program development. 3. To understand elementary linear and non-linear data structures and the algorithms those build and manipulate them 4. To understand the concept of ADT and to choose the appropriate data structure for modeling a given problem. 5. To analyse and compare various methods to solve the problem. Course Learning Outcomes: Students who complete the course, will be able to 1. Demonstrate the fundamental concepts of structuring, managing and organizing the data for 2. 3. 4. 5. efficient access and manipulation. Identify need of using recursion and write recursive algorithms. Explain and apply linear and non-linear data structures e.g. linked lists, stacks, queues, trees, graphs etc. Identify the appropriate data structures to be used to solve the problems based on ADTs. Compare, analyze and evaluate various methods to solve the problem based on inherent properties of data structures and the complexity of algorithms. Assessments Teacher’s Assessment based on - Quiz/Home assignments/Mini Projects/any other (10%) Two Semester examinations SE I & SE II (20% each). Each examination is of one hour duration and will be assessed for 20 Marks on 33% of the syllabus covered (between start of the term and First Sem Exam i.e. Generally Module 1 and 2 for SE I and between SE I & SE II i.e. Generally Module 3 and 4 for SE II). ESE (50%) – Two hours duration and will be assessed for 50 Marks and would be on entire syllabus with weightage 20% each for the syllabus of SE I generally (module 1 and 2)and SE II generally (Module 3 and 4) and 60% on the syllabus covered after SE II generally (Module 5 and 6). Course Contents: Module 1: Introduction 5 Hrs Overview of C programming language, File handling in C Basic Concepts: ADT, Data Structures, Classification of data structures, Recursion and its types Second Year Engineering U.G. Program Curriculums 2013-14 32 Module 2: Object Oriented Programming 7 Hrs Concept, Characteristics / features of OOP Programming language C++: Inline functions , functions with default arguments, friend function , Function overloading, Operator overloading, Classes and objects, passing objects to functions, friend class, Constructors and destructors, Pointers : new and delete operators, this pointer Module 3: Inheritance and Polymorphism 7 Hrs Concept, single, multiple, multilevel, hybrid, hierarchical inheritance, Virtual base class and abstract class, Polymorphism, virtual functions Advanced concepts in C++ : Templates and Exception handling Module 4: Linear Data Structures 9 Hrs Linked Lists: Concept, Singly, doubly and circular linked list, Operations such as insertion, deletion, traversal, reversal on linked list, Applications Stacks: Stack as an ADT, Sequential and linked organization, basic operations : PUSH and POP, Applications Queues: Queue as an ADT, Sequential and linked organization, basic operations : ENQUEUE and DEQUEUE, Types – Circular, Priority, Double Ended Queue, Applications Module 5: Non-linear Data Structures 6 Hrs Trees: Basic terminology, General Tree, binary trees and its representation, binary tree traversals, Introduction to heaps, Binary Search Trees and its operations Graphs: Basic terminology, Representation of graphs using adjacency matrix, adjacency list Traversals: Depth First and Breadth First Module 6: Advanced Programming Languages 5Hrs Introduction to the advanced programming languages e.g. Java, Scala, Clojure, Prolog etc. Features of these languages. Module wise Students Learning Outcomes The student should be able to: Module 1: • Revising C Concepts, Understanding the concept of data structures, thinking recursively Module 2: • Understanding the concept of object oriented programming, details of C++ Module 3: • Learning the usage of features like inheritance and polymorphism in programming. Learning advanced features like templates and exception handling Module 4: • Learning and implementing linear data structures and its applications Module 5: • Learning and Implementing non-linear data structures with real world applications Module 6: • Learning various advanced programming languages and its usage Outcomes as regards to improvement in Professional Skills Students are encouraged to work in small groups and interact with the fellow students. Mini project presentations will improve the communication skills of the students Second Year Engineering U.G. Program Curriculums 2013-14 33 Title of the Course: Statistics and Fuzzy Systems 2DCS211 Scheme of Evaluation ISE 10 SE-I 20 SE-II 20 L-3 ESE 50 T-0 P-0 Cr-3 Minimum for Passing 40 Pre-Requisite Courses: Basic Information about statistics and set theory Textbook: 1. George J. Klir, Bo Yuan, “Fuzzy Sets and Fuzzy Logic: Theory and Applications”, Prentice Hall PTR, 1995. 2. S.C.Gupta and V.K.Kapur, “Fundamental of mathematical statistics”, S.Chand and company, 1978 References: 1. Wylie C.R., “Advanced Engineering Mathematics”, Tata McGraw Hill Publication, 1999, 8th Edition. 2. H. K. Dass, “Advanced Engineering Mathematics”, S. Chand & Company Ltd., 1988, 1st Edition. 3. S. S. Sastry, “Engineering Mathematics (Volume-I)”, Prentice Hall Publication, 2006, 3rd Edition. Course Objectives : a. To understand the basic concepts of probability and statistics for mathematical estimations. b. To understand concepts of fuzzy operators for real life data representation. c. To study different mathematical models based on statistical and fuzzy systems. d. To analyze statistical and fuzzy systems. Course Learning Outcomes: a. Students will have ability to apply knowledge of statistical and fuzzy operations for modeling. b. Students will have ability to design statistical and fuzzy systems. c. Students will have ability to formulate few real life problems using the models. d. Students will have ability to solve and analyze problems for better results Assessments: Tutorials: One hour per week per batch tutorial is to be utilized for problem solving to ensure that students have properly learnt the topics covered in the lectures. This shall include assignment, tutorials, quiz, and surprise test, declared test, seminar, final orals and any others. The teacher may add any of other academic activity to evaluate student for his/her in semester performance Teacher’s Assessment based on - Quiz/Home assignments/Mini Projects/any other (10%) Two Semester examinations SE I & SE II (20% each). Each examination is of one hour duration and will be assessed for 20 Marks on 33% of the syllabus covered (between start of the term and First Sem Exam i.e. Generally Module 1 and 2 for SE I and between SE I & SE II i.e. Generally Module 3 and 4 for SE II). ESE (50%) – Two hours duration and will be assessed for 50 Marks and would be on entire syllabus with weightage 20% each for the syllabus of SE I generally (module 1 and 2)and SE II generally (Module 3 and 4) and 60% on the syllabus covered after SE II generally (Module 5 and 6). Course Contents: Module 1: Fuzzy sets and system: Introduction, characteristics functions ,Fuzzy Relations, simple examples, Fuzzy operations Module 2: Operations on Fuzzy sets, fuzzy reasoning, and examples. Module 3: Approximate reasoning, fuzzy logic, fuzzy system, fuzzy logic control, fuzzy logic in decision making and pattern recognition. Module 4: Statistics: Introduction, probability, rules of probability, conditional probability, and sample space examples. Module 5: Line of regression and coefficient of correlations, fitting of curves Second Year Engineering U.G. Program Curriculums 2013-14 34 Module 6: Random variable, discrete and continuous distributions, binomial, Poisson and normal distributions. Module wise Measurable Students Learning Outcomes: Module 1: Students will get knowledge of fuzzy set and system through set theory. Module 2: The basic properties of fuzzy sets will be understood. Module 3: Using basic properties the application to decision making pattern recognition will be understood. Module 4: The introduction of statistics through probability will be understood. Module 5: The statistical data will be used to find correlation between them to fit curve. Module 6: The different statistical distribution will help to solve Engineering problem. Outcomes as regards to improvement in Professional Skills: The students will solve the problems in a group so that their mathematical ability and communication skill will be improved. Computer Usage / Lab Tool: Mathematical software will be used to solve problems of statistics. Laboratory Experiences: Independent Learning Experiences: Second Year Engineering U.G. Program Curriculums 2013-14 35 Title of the Course: Computer Networks lab 2CS262 Scheme of Evaluation ISE 50 ESE 50 L- 0 T- 0 P- 2 Cr- 1 Minimum for Passing 20 (ISE) + 20 (ESE) Pre-Requisite Courses: Data Communication and networking, Computer networks Textbook: References: 1. Jeffery S. Beasley “Networking”,2nd edition New Riders Press. 2. Richard Steven ,“Unix network programming”, (PHI) for Socket Programming (2nd Edition.) 3. Larry L. Peterson , Bruce S. Davie ” Computer Networks, Fifth Edition: A Systems Approach” (The Morgan Kaufmann Series in Networking) Morgan Kaufmann; 5 Edition. 4. Prof. Devan N.Shah, Prof D. Ambawade, ”Hands on Linux”, Dreamtech. 5. William Stallings, “Data and Computer Communications”, PHI, 8th Edition. 6. Andrew S. Tanenbaum, “Computer Networks”, PHI, Fourth Edition. 7. Behrouz A. Forouzan ,“Data communication and Networking”, TMGH, 4th Edition. 8. James F. Kurose and Keith W. Ross, “Computer Networking: A Top-Down Approach Featuring the Internet”, Pearson Education, 2003. 9. Behrouz A. Forouzan ,”TCP/IP Protocol Suite”, Tata McGraw Hill edition, Third Edition. 10. N. Olifer, V.Olifer, “ Computer Networks: Principles, Technologies and Protocols for Network design”, Wiley India Edition. 11. TCP/IP Volume 1, 2, 3, (W. Richard Stevens), Addison Wesley. Note: First four books are especially required for practical implementation. Course Objectives : a. To correlate theoretical and practical knowledge in computer networks b. To provide basic skills needed to write network application using socket interface. Course Learning Outcomes: After this course student will be able to : 1. Implement different protocols 2. Simulate and analyze the network using network tools 3. Capture the packets and frames and analyze. 4. Develop a communication using TCP/UDP socket. 5. To assess network engineering problems. Assessments Teacher’s Assessment based on – Laboratory performance, assignments, Tests, Report containing experiments, Orals (50%) External examination, Performance, Oral (50%) Course Contents: Term Work Lab: It shall consists of 10-12 experiments on following concepts 1. Understanding of all communication techniques. 2. File transfer using Stop & Wait Protocol / Go back n / Selective Repeat Protocol. 3. Implementation of error correction and detection techniques. 4. Implementation of routing algorithms. 5. Study of all internetworking devices. 6. Study of network operating systems. 7. Studying Packet capturing tools on window as well as Linux platform (e.g- wireshark, TCPDUMP). 8. Socket Programming using TCP and UDP. Module wise Students Learning Outcomes Outcomes as regards to improvement in Communication Skills Second Year Engineering U.G. Program Curriculums 2013-14 36 Students are encouraged to work in small groups and interact with the fellow students. Computer Usage / Lab Tool Network analyzing tools -Wireshark, TCPDUMP etc. “c” language and “c” socket programming Laboratory Experiences: 10-12 assignments on the topics covered in theory. It may include small projects in group of 2-3 students. It must include writing algorithms and implementation using c language / socket programming. Independent Learning Experiences: With the help of Implementation each student will understand theory concept very well. Second Year Engineering U.G. Program Curriculums 2013-14 37 Title of the Course: Database Engineering Lab 2CS264 ISE 50 Pre-Requisite Courses: Data Structures Scheme of Evaluation ESE 50 L- 0 T- 0 P- 2 Cr- 1 Minimum for Passing 20 (ISE) + 20 (ESE) Textbook: 1. Abraham Silberschatz, Henry F. Korth and S. Sudarshan, Database System Concepts, Mc-Graw Hill, 4th Edition 2002 / 6th Edition 2011 References: 1. Raghu Ramakrishnan and Johannes Gehrke, Database Management Systems, 3rd Edition. 2002 2. Ramez Elmasri and Shamkant Navathe, Benjamin Cummings, Fundamentals of Database Systems, 3rd Edition, 1999 / later Course Objectives : a. To use conceptual database designs to prepare database schemas. b. To know various relational database systems and to apply systematically theoretical knowledge to design practical applications to solve real world problems on the small scale. c. To learn SQL and to use it efficiently to retrieve data from the database. d. To understand fundamentals of indexing, transaction processing, concurrency and recovery control issues associated with database management systems. Course Learning Outcomes: Students who complete the course, will be able to a. understand the problem statement of an enterprise, identify the need, analyse the problem and design ER diagram for the enterprise as well as prepare the relational database schema for the enterprise. b. identify integrity constraints and apply these for efficient design. c. write queries in SQL to extract required information from the database. Compare, analyse various ways of writing the queries for a given problem. d. theoretically justify the design and use fundamental transaction processing, concurrency controland recovery concepts in real application. e. apply systematically theoretical knowledge to design practical applications to solve real world database problems on the small scale. Assessments Teacher’s Assessment based on – Laboratory performance, assignments, Tests, Report containing experiments, Orals (50%) External examination, Performance, Oral (50%) Course Contents: Assignments to be carried out in any RDBMS like ORACLE//DB2/SQL-Server/PostgreSQL: Assignments include conceptual design using ER model, SQL and PL/SQL 1. Database Design using ER model 2. Database schema design 3. Database creation and applying integrity constraints 4. Study of DDL statements and data manipulation statements. 5. Study of Basic SQL SELECT statement for displaying data from single table or multiple tables. 6. Study of SQL constructs for aggregating data using group functions, sub-queries and complex queries. 7. Study and Implementation of Triggers 8. Study and Implementation of Stored Procedures 9. Transaction isolation levels and Concurrency control. 10. Few aspects of authorization such as creating and managing users, roles, granting and revoking of privileges etc. 11. Implementation of B+ tree, hash index in C or C++ Module wise Measurable Students Learning Outcomes Outcomes as regards to improvement in Professional Skills Students are encouraged to work in small groups and interact with the fellow students. Mini project Second Year Engineering U.G. Program Curriculums 2013-14 38 presentations will improve the communication skills of the students Computer Usage / Lab Tool As database engineering is one of the core courses in computer science and information technology, extensive lab sessions are required. The tools to draw the ER diagrams and schemas to be used. Laboratory Experiences: Assignments include drawing ER diagrams for given problem statements. Implementation in any RDBMS. It may include small projects in group of 2-3 students. Independent Learning Experiences: Assignments to be carried out using any RDBMS other than that used in labs. Tutorials and small projects for self study. Second Year Engineering U.G. Program Curriculums 2013-14 39 Title of the Course: Programming Laboratory – II 2CS265 Scheme of Evaluation ISE 50 ESE 50 L-2 T-0 P-4 Cr-4 Minimum for Passing 20 (ISE) + 20 (ESE) Pre-Requisite Courses: OOP concepts, Class objects, polymorphism, overloading concepts Textbook: 1. Cay S. Horstmann, Gary Cornell Core Java Fundamentals Vol -I (The Sun Microsystems Press Java Series) 2. Cay S. Horstmann, Gary Cornell. Core Java Vol – II (The Sun Microsystems Press Java Series) References: 1. Herbert Schildt , Java 2 Complete Reference – 5th Edition (TMGH). 2. E. Balguruswamy Object oriented programming with JAVA Course Objectives : a. Learn the concept of java like data types, OOP principles, JVM, etc. b. Use the Java API like multithreading, socket programming, etc. c. Learn the GUI packages of Java. Course Learning Outcomes: a. Implement the concept of OOP. b. Demonstrate the concept of socket programming and multi-threading c. Develop the application using GUI package with connectivity of database at back end. Assessments Teacher’s Assessment based on – Laboratory performance, assignments, Tests, Report containing experiments, Orals (50%) External examination, Performance, Oral (50%) Course Contents: Module 1: An Introduction to Java - Features of JAVA language, Java Virtual Machine and Java Programming Environment, Fundamental Programming Structures in Java, Interfaces and Inner Classes, Static and non-static inner classes, Packages and access control mechanism, Comparison of Java with C++. Error Handling and Exceptions, Debugging. 6 Module 2: I/O programming – Hierarchy of classes in I/O Package, Streams: Character oriented and Byte oriented, Reading basic data types from keyboard, File handling in Java. Collection Classes : java.util package. Utility Methods for Arrays , Observable and Observer Objects Date & Times , Using Scanner Regular Expression , Java Utilities (java.util Package) The Collection Framework : Collections of Objects , Collection Types Sets , Sequence Map , Understanding HashingUse of ArrayList & Vector. 6 Module 3: GUI Design in Java – User Interface, Event Handling in Java - Event delegation model (MVC model), Classes supporting event handling Components with swings, Swing Applets. Graphics Programming Advanced Swing Components Tree, Table etc. Using swing Timer 4 Module 4: Multithreading – Classes supporting thread creation, Thread States & Synchronization of threads, Thread groups, Deadlock handling. 4 Module 5: Network programming with java - Hierarchy of classes in NET package, Client server Programming, Concurrent and Iterative server design Introduction of Distributed Second Year Engineering U.G. Program Curriculums 2013-14 40 Programming in Java RMI Application Designing .RMI client & server 5 Module 6: Introduction to JDBC, JDBC Drivers & Architecture CURD operation Using JDBC, Connecting to non-conventional Databases 5 Module wise Students Learning Outcomes Module 1: Differentiate procedural, object-based, object-oriented and generic programming. Module 2: Understand the features of java programming language. Module 3: Apply the learned features like package, reusability, object references etc to solve the real life problems. Module 4: Design a distributed web based application by making use of concepts like JDBC , socket communication, swing etc. Outcomes as regards to improvement in Professional Skills Professional software development skill can be improved. Computer Usage / Lab Tool JDK 1.6, Netbeans, Eclipse. Laboratory Experiences: It should consist of minimum 14 practical experiments based on the above syllabus covering the following list of assignments. 1. Class and Method Implementation by – • Method overloading • Constructor Overloading • Static members and methods • Inner classes (Use any application) 2. Implementation of Multiple Inheritance using Interface. 3. Implementation of Inheritance by • Method overriding • super constructor and super keyword • abstract class (Use any application) 4. Implementation of Package. 5. Program to read basic data types from keyboard using Scanner and check the entered values’ data type for its appropriateness. 6. Exception Handling for – • Divide by zero error • Null values • Data entry 7. Program to read the data from user and save it to two different files, display the contents and exchange the contents of those two files using IO package. 8. Synchronization of threads. 9. Develop an animation program using Multithreading viz. Bouncing Ball. 10. Program to scroll the banner using applet. 11. Program using Applet to illustrate event handling with interactive radio buttons to control font style of a text field. Also provide a text box wherein the user may enter font size. 12. Design 8-digit calculator using AWT package and layout managers. 13. GUI design using Swing package - a) Celsius to Fahrenheit conversion b) Login and Password Verification. 14. Implementation of Client / Server mechanism using Socket classes. 15. Design Database program for Employee details and implement INSERT,SELECT, DELETE, Second Year Engineering U.G. Program Curriculums 2013-14 41 UPDATE queries. 16. Design concurrent server that will handle multiple clients using multithreading. 17. Develop a simple client-server application using RMI. Independent Learning Experiences: Platform independent application can be created and tested. Design of any application with the use of java programming language features is easily possible. Second Year Engineering U.G. Program Curriculums 2013-14 42