Proposed Syllabus and Scheme of Examination for B Sc. HONOURS WITH COMPUTER SCIENCE Under Choice Based Credit System Department of Computer Science Himachal Pradesh University Shimla 1 Course Structure (Computer Science-Major) Details of courses under B.Sc. (Honors) Course *Credits Theory + Practical Theory +Tutorial ============================================================ I. Core Course (14 Papers) 14X4=56 14X5=70 Core Course Practical/Tutorial* (14Papers) 14X2=28 14X1=14 II. Elective Course (8Papers) A.1.DisciplineSpecificElective 4X4=16 4X5=20 (4Papers) A.2.DisciplineSpecificElective Practical/Tutorial* 4X2=8 4X1=4 (4Papers) B.1.GenericElective/ Interdisciplinary 4X4=16 4X5=20 (4Papers) B.2.GenericElective Practical/Tutorial* 4X2=8 4X1=4 (4Papers) • Optional Dissertation or project work in place of one Discipline Specific Elective paper (6 credits) in 6thSemester III. Ability Enhancement Courses 1.AbilityEnhancementCompulsory (2 Papers of 4 credit each) 2X4=8 2X4=8 Environmental Science English/MIL Communication 2.AbilityEnhancementElective(Skill Based) (Minimum2) 2X4=8 2X4=8 (2 Papers of 4 credit each) Total credit 148 148 Institute should evolve a system/policy about ECA/ General Interest/Hobby/Sports/NCC/NSS/related courses on its own. *wherever there is a practical there will be no tutorial and vice-versa PROPOSED SCHEME FOR CHOICE BASED CREDIT SYSTEM IN B. Sc. Honours (Computer Science) Core Course Ability Skill Elective: Elective : Generic Total No. Total Credits Semes (DSC) = 14 Enhancement Enhancement Discipline (GE)=4 of courses earned per -ter *Credits(Core Course Course (SEC)=2 Specific *Credits(GE) per Semester Course) Theory (AESCC) =2 *Credits(SEC) (DSE)=4 Theory + Semester + Practical / *Credits Theory + *Credits(DSE Practical/ Tutorial Tutorial= (AECC) = Practical/ Tutorial )Theory + = 6 each 6 each 4 each = 4 each Practical/ Tutorial = 6 each I C- 1. English GE-1 DSC =2 DSC=2*6=12 Programming [ 4 Theory + 2 lab / AECC=1 AECC=1*4=4 Fundamentals 5 Theory + 1 GE =1 GE =1*6 = 06 using C/C++ Tutorial] 4 22 (4 Theory + *[Choose Four 4 Lab) (04) papers of Credits Earned anyone discipline through C-II. Computer specified in the GE Computer System list. GE-1 to GE-4] Subjects=12 Architecture (5 Theory + 1 Tutorial) II C-III. Environ- GE-2 DSC = 2 DSC=2*6 = 12 Programming mental [ 4 Theory +2 lab / AECC=1 AECC=1*4=04 in JAVA Science 5 Theory +1 GE = 1 GE = 1*6 = 06 (4 Theory +4 Tutorial] 4 22 Lab) Credits Earned through C-IV Discrete Computer Structures Subjects=12 (5+ 1 Tutorial) III C-V. Data SEC -1 GE-3 DSC = 3 DSC=3*6=18 Structures [ 3 Theory + [ 4 Theory +2 lab / SEC = 1 SEC=1*4=04 (4 Theory + 2 lab] 5 Theory + 1 GE = 1 GE = 1*6=06 4 Lab) Tutorial] 5 28 C-VI. Credits Earned Operating through Systems Computer (4 Theory + Subjects=22 4 Lab) C- VII. Computer Networks (5 Theory + 1 Tutorial) IV C-VIII. Design SEC -2 GE-4 DSC = 3 DSC=3*6=18 and Analysis of [ 3 Theory + [ 4 Theory +2 lab / SEC = 1 SEC=1*4= 04 Algorithms 2 lab] 5 Theory + 1 GE = 1 GE=1*6 = 06 (4 Theory + Tutorial] 5 28 4 Lab) Credits Earned C-IX. Software through Engineering Computer (4 Theory + Subjects=22 4 Lab) C-X. Database Management Systems (4 Theory + 4 Lab) V C- XI. Internet DSE-1. DSC = 2 DSC = 2*6=12 Technologies (4 Theory + DSE = 2 DSE = 2*6=12 C-XII. Theory 4 Lab) 4 24 of Computation *[Choose any Credits Earned (5 Theory + 1 Three (03) through Tutorial) from the DSE Computer List. Subjects=24 DSE-1 to DSE-3] DSE-2. (4 Theory + 4 Lab) VI C-XIII. DSE-3. DSC = 2 DSC = 2*6=12 Software (4 Theory + DSE = 2 DSE = 2*6=12 Testing 4 Lab) 4 24 (4 Theory + DSE-4. Credits Earned 4 Lab) Project through Work Computer XIV. Computer (4 Theory + Subjects=24 Graphics 4 Lab) (4 Theory + *Compulsory 4 Lab) for all Total credits earned in all semesters (in all subjects) =22+22+28+28+24+24=148 credits Total credits earned through Computer Science in all semesters=12+12+22+22+24+24=116 credits Total credits earned through Computer Science in odd semesters (I+III+V) =12+22+24=58 credits Total credits earned through Computer Science in even semesters (II+IV+VI) = 12+22+24=58credits => Number of Assistant Prof. (Computer Application) required to run the course=04 Practical / Tutorial are with every core and discipline/ Generic specific papers. Whenever there is practical there will be no tutorials and vice versa. No. of Practical=4 periods / week for Practical of 2 credits. No. of Tutorial=1 Period / week for Tutorial of 1 credit. Credits for Core Course Paper (DSC) = (i) Theory with Practical: Theory [4 credits] (4 Period / week) + Practical [2 credit] (4 Period / week) = Total [Six (06) credits] (Total Eight (8) periods/week). (ii) Theory with Tutorial: Theory +Tutorial [5+1credits] = Total [Six (06) credits] (Total Six (6) periods/week). Size of Practical group for practical papers is recommended to be 10-15 students. Project Work: Out of four (04) DSE papers to be selected in all. one of the (DSE) Elective DSE-4 Project Work is compulsory and is to be studied in VI semester. Therefore,. In the Vth (2 DSE papers that is DSE-1 and DSE -2) and VI th semester (2 DSE papers, one DSE-3 is to be selected from the DSE list and DSE-4 Project Work is mandatory for all students in 6th semester. Therefore only three (3) papers are to be selected among the DSE paper list. For Project Work the students should work on any concepts studied in core/ elective/ skill based courses. The group size should be maximum of three (03) students. A maximum of four (04) Projects would be assigned to one teacher. * Total Marks distribution for each Generic Elective (GE) paper with Tutorials = Theory + Tutorial=ESE (Theory) [80] + CCA (IA) [20] = 80+20 =100 Total Marks distribution for each GE paper with Practical Theory= ESE (Theory) [80] +CCA (IA) [20] = 80+20 =100 and Practical= ESE (Theory) [80] +CCA (IA)[20]= 80+20 =100 Semes- Cred COURSE ESE CCA Total Course Opted Course Name ter -its CODE (Theory) (IA) Marks Ability Enhancement English 4 80 20 100 Compulsory Course-I Core course-I Programming 4 BHCS101 80 20 100 Fundamentals using I C/C++ Core Course-I Practical Programming 2 BHCS101 (P) 80 20 100 Fundamentals using C/C++ Lab Core course-II Computer System 6 BHCS102 80 20 100 Architecture (Theory + Tutorial) GenericElective-1 GE-1 4 *Select from 80 20 100 GenericElective-1 2 the 80 20 100 Practical GE list Ability Enhancement Environmental Science 4 80 20 100 Compulsory Course-II Core course-III Programming in JAVA 4 BHCS201 80 20 100 Core Course-III Practical Programming in JAVA 2 BHCS201(P) 80 20 100 Lab II Core Course-IV Discrete Structures 6 BHCS202 80 20 100 (Theory + Tutorial) GenericElective-2 GE-2 4 *Select for the 80 20 100 GE list GenericElective-2 2 80 20 100 Practical Core Course-V Data Structures 4 BHCS301 80 20 100 Core Course-V Practical Data Structures Lab 2 BHCS301(P) 80 20 100 Core Course-VI Operating Systems 4 BHCS302 80 20 100 Core Course-VI Practical Operating Systems Lab 2 BHCS302(P) 80 20 100 III Core Course-VII Computer Networks 6 BHCS303 80 20 100 (Theory+ Tutorial) Skill Enhancement SEC-1 3 *Select from 80 20 100 Course-1 the SEC list Skill Enhancement SEC-1 Practical 1 80 20 100 Course-1 Practical GenericElective-3 GE-3 4 *Select from 80 20 100 GenericElective-3 2 the 80 20 100 Practical GE list Core Course-VIII Design and Analysis of 4 BHCS401 80 20 100 Algorithms Core Course-VIII Design and Analysis of 2 BHCS401(P) 80 20 100 Practical Algorithms Lab Core Course-IX Software Engineering 4 BHCS402 80 20 100 IV Core Course-IX Practical Software Engineering 2 BHCS402(P) 80 20 100 Lab Core Course-X Database Management 4 BHCS403 80 20 100 Systems Core Course-X Practical Database Management 2 BHCS403(P) 80 20 100 Systems Lab Skill Enhancement SEC-2 3 Select from the 80 20 100 Course-2 Sec list Skill Enhancement SEC-2 Practical 1 80 20 100 Course-2 Practical Generic Elective-4 GE-4 4 *Select for the 80 20 100 GenericElective-4 2 GE list 80 20 100 Practical Core Course-XI Internet Technologies 4 BHCS501 80 20 100 Core Course-XI Practical Internet Technologies 2 BHCS501(P) 80 20 100 Lab Core Course-XII Theory of Computation 6 BHCS502 80 20 100 (Theory+ Tutorial) V Discipline Specific DSE-1 4 Select from the 80 20 100 Elective-1 DSE list Discipline Specific DSE-1 Lab 2 80 20 100 Elective-1 Practical Discipline Specific DSE-2 4 *Select from 80 20 100 Elective-2 the DSE list Discipline SpecificElective- DSE-2 Lab 2 80 20 100 2 Practical Core course-XIII Software Testing 4 BHCS601 80 20 100 Core course-XIII Software Testing Lab 2 BHCS601(P) 80 20 100 Practical Core course-XIV Computer Graphics 4 BHCS602 80 20 100 Core course-XIV Practical Computer Graphics 2 BHCS602(P) 80 20 100 Lab Discipline Specific DSE-3 4 *Select from 80 20 100 Elective-3 the DSE list Discipline Specific DSE-3 Lab 2 80 20 100 Elective-3 Practical Discipline Specific DSE-4 (Project Work) 6 80 20 100 VI Elective-4 Project Work *(Compulsory for All) Total 148 Credits The passing marks for each component (ESE- Theory/ Practical and CCA- Theory/ Practical) will be 45% and the candidate has to qualify each component separately to be declared successfully qualified. Core Papers: Discipline Specific Compulsory (DSC) in Computer Science Core Papers (DSC): Computer Science (Credit: 06 each) (1 period / week for tutorials or 4 periods /week of practical) S. Core Course Course Code Course Name No. of Periods / week No. 1. Core Course-I BHCS101 Programming Fundamentals using 4 Theory + 4 Lab=8 BHCS101(P) C/C++ 2. Core Course-II BHCS102 Computer System Architecture 5 Theory+1Tutorial=6 3. Core Course- BHCS201 4 Theory + 4 Lab=8 III BHCS201(P) Programming in JAVA 4. Core Course- BHCS202 5 Theory+1Tutorial=6 IV Discrete Structures 5. Core Course- BHCS301 4 Theory + 4 Lab=8 V BHCS301(P) Data Structures 6. Core Course- BHCS302 4 Theory + 4 Lab=8 VI BHCS302(P) Operating Systems 7. Core Course- BHCS303 5 Theory+1Tutorial=6 VII BHCS303(P) Computer Networks 8. Core Course- BHCS401 4 Theory + 4 Lab=8 VIII BHCS401(P) Design and Analysis of Algorithms 9. Core Course- BHCS401 4 Theory + 4 Lab=8 X BHCS401(P) Software Engineering 10. Core Course- BHCS403 4 Theory + 4 Lab=8 X BHCS403(P) Database Management Systems 11. Core Course- BHCS501 4 Theory + 4 Lab=8 XI BHCS501(P) Internet Technologies 12. Core Course- BHCS502 5 Theory+1Tutorial=6 XII Theory of Computation 13. Core Course- BHCS601 4 Theory + 4 Lab=8 XIII BHCS601(P) Software Testing 14. Core Course- BHCS602 4 Theory + 4 Lab=8 XIV BHCS602(P) Computer Graphics List of Discipline Specific Elective (DSE) Papers: Discipline Specific Elective Papers: (Credit: 06 each) (4 papers to be selected) – DSE-1 to DSE- 4 * DSE-4 Project Work is mandatory for all students in 6th semester. One of the compulsory DSE papers in VI semester is DSE-4 Project Work. Therefore, from total four (04) DSE papers to be selected in total only three (3) papers are to be selected among the DSE paper list. Therefore, in the Vth Semester (2 DSE papers that is DSE-1 and DSE -2) are to be selected from the list and out of 2 DSE papers in VI th semester one DSE-3 is to be selected from the list and the other DSE-4 Project Work is mandatory for all. S. No. Course Code Course Name No. of Periods / week 1. BHCSDSE1 Information Security (4 Theory + 4 Lab) BHCSDSE1(P) 2. BHCSDSE2 Microprocessor (4 Theory + 4 Lab) BHCSDSE2(P) 3. BHCSDSE3 Digital Image Processing (4 Theory + 4 Lab) BHCSDSE3(P) 4. BHCSDSE4 Cloud Computing (4 Theory + 4 Lab) BHCSDSE4(P) 5. BHCSDSE5 Numerical Methods (4 Theory + 4 Lab) BHCSDSE5(P) 6. BHCSDSE6 System Programming (4 Theory + 4 Lab) BHCSDSE6(P) 7. BHCSDSE7 Data Mining (4 Theory + 4 Lab) BHCSDSE7(P) 8. BHCSDSE8 DSE – 4 Project Work (4 Theory + 4 Lab) BHCSDSE8(P) ( *Compulsory for All) List of other Discipline (Four papers of anyone discipline) – GE-1 to GE-4 * Select any one discipline of importance Elective: Generic (GE) = 4 Papers are to be selected *Credits of each GE paper, Theory + Practical / Theory + Tutorial = 6 credits for each paper *Total Marks distribution for each GE paper with Tutorials = Theory + Tutorial=ESE (Theory) [80] +CCA (IA) [20] = 80+20 =100 Total Marks distribution for each GE paper with Practical (i) Theory= ESE (Theory) [80] +CCA (IA) [20] = 80+20 =100 (ii) Practical= ESE (Theory) [80] +CCA (IA) [20] = 80+20 =100 S. Discipline Total periods / week for Papers with Total periods / week for Papers with No. Tutorial Practical [ 5 Theory +1 Tutorial] credits= 6 credits [ 4 Theory +2 Lab] credits= 6 credits 1. Mathematics 5 Periods (Theory) +1 Period (Tutorial)= 4 Periods ( Theory)+4 Periods (Lab)= 6 Periods / week 8 Periods / week 2. Statistics 5 Periods (Theory) +1 Period (Tutorial)= 4 Periods ( Theory)+4 Periods (Lab)= 6 Periods / week 8 Periods / week 3. Operational 5 Periods (Theory) +1 Period (Tutorial)= 4 Periods ( Theory)+4 Periods (Lab)= Research 6 Periods / week 8 Periods / week 4. Physics 5 Periods (Theory) +1 Period (Tutorial)= 4 Periods ( Theory)+4 Periods (Lab)= 6 Periods / week Periods / week 5. Electronics 5 Periods (Theory) +1 Period (Tutorial)= 4 Periods ( Theory)+4 Periods (Lab)= 6 Periods / week 8 Periods / week 6. Commerce 5 Periods (Theory) +1 Period (Tutorial)= 4 Periods ( Theory)+4 Periods (Lab)= 6 Periods / week 8 Periods / week 7. Economics 5 Periods (Theory) +1 Period (Tutorial)= 4 Periods ( Theory)+4 Periods (Lab)= 6 Periods / week 8 Periods / week List of Skill Enhancement Courses (02 papers) (Credit: 04 each) – SEC1 to SEC2 Skill Enhancement Courses (02 papers) S. Course Code Course Name No. of Periods / week No. 1. BHCSSEC1 Android Programming (3 Theory + 2 Lab) BHCSSEC1(P) 2. BHCSSEC2 Programming in MATLAB (3 Theory + 2 Lab) BHCSSEC2(P) 3. BHCSSEC3 HTML Programming (3 Theory + 2 Lab) BHCSSEC3(P) 4. BHCSSEC4 Oracle (SQL/PL-SQL) (3 Theory + 2 Lab) BHCSSEC4(P) 5. BHCSSEC5 PHP Programming (3 Theory + 2 Lab) BHCSSEC5(P) 6. BHCSSEC6 UNIX/LINUX Fundamentals using (3 Theory + 2 Lab) BHCSSEC6(P) C/C++ List of Generic Elective Papers (GE) (Minor – Computer Science) (Choose any four) for other Departments/Disciplines: (Credit: 06 each) S. Course Code Course Name No. of Periods / week No. 1. BHCSGE1 (4 Theory + BHCSGE1(P) Computer Fundamentals 4 Lab) 2. BHCSGE2 (4 Theory + BHCSGE2(P) Introduction to Database Systems 4 Lab) 3. BHCSGE3 Introduction to Programming Data (4 Theory + BHCSGE3(P) Structures 4 Lab) 4. BHCSGE4 Computer Networks and Internet (4 Theory + BHCSGE4(P) Technologies 4 Lab) 5. BHCSGE5 (4 Theory + BHCSGE5(P) Multimedia and Applications 4 Lab) 6. BHCSGE6 (4 Theory + BHCSGE6(P) Software Engineering 4 Lab) 7. BHCSGE7 (4 Theory + BHCSGE7(P) Information Security and Cyber Laws 4 Lab) 8. BHCSGE8 (4 Theory + BHCSGE8(P) Web and E-Commerce Technologies 4 Lab) CORE COURSES (HONOURS IN COMPUTER SCIENCE) COMPUTER SCIENCE (C-I) Programming Fundamentals using C/C++ Theory: 60 Lectures UNIT-1 Basics (4 Lectures): Variables, Scope of Variables, Using Named Constants, Keywords, Data Types, Casting of Data Types, Operators (Arithmetic, Logical and Bitwise), Using Comments in programs, Character I/O (getc, getchar, putc, putchar etc), Formatted and Console I/O (printf(), scanf(), cin, cout), Using Basic Header Files (stdio.h, iostream.h, conio.h etc). Expressions, Conditional Statements and Iterative Statements (5 Lectures): Simple Expressions in C++ (including Unary Operator Expressions, Binary Operator Expressions), Understanding Operators Introduction to C and C++ (3 Lectures): History of C and C++, Overview of Procedural Programming and Object-Orientation Programming, Using main () function, Compiling and Executing Simple Programs in C++. Data Types, Variables, Constants, Operators and Basic I/O (3 Lectures): Declaring, Defining and Initializing Precedence in Expressions, Conditional Statements (if construct, switch-case construct), Understanding syntax and utility of Iterative Statements (while, do-while, and for loops), Use of break and continue in Loops, Using Nested Statements (Conditional as well as Iterative) UNIT-2 Functions and Arrays (10 Lectures): Utility of functions, Call by Value, Call by Reference, Functions returning value, Void functions, Inline Functions, Return data type of functions, Functions parameters, Differentiating between Declaration and Definition of Functions, Command Line Arguments/Parameters in Functions, Functions with variable number of Arguments. Creating and Using One Dimensional Arrays ( Declaring and Defining an Array, Initializing an Array, Accessing individual elements in an Array, Manipulating array elements using loops), Use Various types of arrays (integer, float and character arrays / Strings) Two-dimensional Arrays (Declaring, Defining and Initializing Two Dimensional Array, Working with Rows and Columns), Introduction to Multi-dimensional arrays Derived Data Types (Structures and Unions) (5 Lectures): Understanding utility of structures and unions, Declaring, initializing and using simple structures and unions, Manipulating individual members of structures and unions. UNIT-3 Pointers and References in C++( 7 Lectures):Understanding a Pointer Variable, Simple use of Pointers (Declaring and Dereferencing Pointers to simple variables), Pointers to Pointers, Pointers to structures, Problems with Pointers, Passing pointers as function arguments, Returning a pointer from a function, using arrays as pointers, Passing arrays to functions. Pointers vs References, Declaring and initializing references. Memory Allocation in C++( 3 Lectures):Differentiating between static and dynamic memory allocation, use of malloc, calloc and free functions, use of new and delete operators, storage of variables in static and dynamic m emory allocation File I/O, Preprocessor Directives( 5 Lectures): Opening and closing a file (use of fstream header file, ifstream, ofstream and fstream classes), Reading and writing Text Files, Using put(), get(), read() and write() functions, Random access in files, Understanding the Preprocessor Directives (#include, #define, #error, #if, #else, #elif, #endif, #ifdef, #ifndef and #undef), Macros UNIT-4 Using Classes in C++ ( 5 Lectures):Principles of Object-Oriented Programming, Defining & Using Classes, Class Constructors, Constructor Overloading, Function overloading in classes, Class Variables &Functions, Objects as parameters, Specifying the Protected and Private Access, Copy Constructors. Overview of Function Overloading and Operator Overloading( 5 Lectures): Need of Overloading functions and operators, Overloading functions by number and type of arguments, Looking at an operator as a function call, Overloading Operators (including assignment operators, unary operators) Inheritance, Polymorphism and Exception handling ( 5 Lectures): Introduction to Inheritance (Multi-Level Inheritance, Multiple Inheritance), Polymorphism (Virtual Functions, Pure Virtual Functions), Basics Exceptional Handling (using catch and throw, multiple catch statements). Reference Books: 1. HerbtzSchildt, "C++: The Complete Reference", Fourth Edition, McGraw Hill.2003 2 . BjarneStroustrup, "The C++ Programming Language", 4th Edition, Addison-Wesley, 2013. 3. BjarneStroustroup, "Programming -- Principles and Practice using C++", 2nd Edition, Addison-Wesley 2014. 4. E Balaguruswamy, "Object Oriented Programming with C++", Tata McGraw-Hill Education, 2008. 5.Paul Deitel, Harvey Deitel, "C++ How to Program", 8th Edition, Prentice Hall, 2011. 6. John R. Hubbard, "Programming with C++", Schaum's Series, 2nd Edition, 2000. 7. Andrew Koeni, Barbara, E. Moo, "Accelerated C++", Published by Addison-Wesley , 2000. 8. Scott Meyers, "Effective C++", 3rd Edition, Published by Addison-Wesley, 2005. 9. Harry, H. Chaudhary, "Head First C++ Programming: The Definitive Beginner's Guide", First Create space Inc, O-D Publishing, LLC USA.2014 10.Walter Savitch, "Problem Solving with C++", Pearson Education, 2007. 11. Stanley B. Lippman, JoseeLajoie, Barbara E. Moo, "C++ Primer", Published by Addison-Wesley, 5th Edition, 2012 COMPUTER SCIENCE LAB (C-I): Programming Fundamentals using C/C++ Lab Practical: 60 Lectures 1. WAP to print the sum and product of digits of an integer. 2. WAP to reverse a number. 3. WAP to compute the sum of the first n terms of the following series S = 1+1/2+1/3+1/4+…… 4. WAP to compute the sum of the first n terms of the following series S =1-2+3-4+5……………. 5. Write a function that checks whether a given string is Palindrome or not. Use this function to find whether the string entered by user is Palindrome or not. 6. Write a function to find whether a given no. is prime or not. Use the same to generate the prime numbers less than 100. 7. WAP to compute the factors of a given number. 8. Write a macro that swaps two numbers. WAP to use it. 9. WAP to print a triangle of stars as follows (take number of lines from user): * *** ***** ******* ********* 10. WAP to perform following actions on an array entered by the user: i) Print the even-valued elements
Description: