COMPUTER SCIENCE (Code No. 083) (2017-18)
- To understand basics of computers.
- To develop logic for Problem Solving.
- To develop problem solving skills and their implementation using C++.
- To understand and implement the concept.
- To understand the concept of working with Relational Database.
- To understand the basic concept of Computing Logic.
- To understand the basic concepts of Communication and Networking technologies.
- To understand Open Source concepts.
Class XI (Theory) – C++
Duration: 3 hours Total Marks: 70
Unit No. Unit Name Marks 1. COMPUTER FUNDAMENTALS 10 2. PROGRAMMING METHODOLOGY 12 3. INTRODUCTION TO C++ 14 4. PROGRAMMING IN C++ 34 Total 70
Unit 1: Computer Fundamentals (18 Theory + 6 Practical) Periods
Classification of computers: Basics of computer and its operation, Functional Components and their interconnections, Concept of Booting
Software concepts: Types of Software – System Software, Utility Software and Application Software,
System Software:, Operating System, Compiler, Interpreter and Assembler
Operating System: Need for Operating System, Functions of Operating System (Processor Management, Memory Management, File Management and Device Management), Types of Operating System-Interactive (GUI based), Time Sharing, Real Time and Distributed, Commonly used Operating System: UNIX, LINUX, Windows, Solaris, BOSS (Bharat Operating System Solutions)
Mobile OS – Android, Symbian, IOS.
Utility Software: Anti Virus, File Management tools, Compression tools and Disk Management tools (Disk Cleanup, Disk Defragmenter, Backup).
Open Source Concepts: Open Source Software, Freeware, Shareware, and Proprietary Software.
Application Software: Office Tools – Word Processor, Presentation Tool, Spreadsheet Package, Database Management System; Domain Specific tools – School Management System, Inventory Management System, Payroll System, Financial Accounting, Hotel Management, Reservation System and Weather Forecasting System.
Number System: Binary, Octal, Decimal, Hexadecimal and conversion between different number systems.
Internal Storage encoding of Characters: ASCII, ISCII (Indian Scripts Standard Code for Information Interchange), UNICODE (for multilingual computing)
Microprocessor: Basic concepts, Clock speed (MHz, GHz), 16 bit, 32 bit, 64 bit, 128 bit processors, Types – CISC Processors (Complex Instruction Set Computing), RISC Processors (Reduced Instruction Set Computing), and EPIC (Explicitly Parallel Instruction Computing).
Memory Concepts: Units: Byte, Kilo Byte, Mega Byte, Giga Byte, Tera Byte, Peta Byte, Exa Byte, Zetta Byte, Yotta Byte.
Primary Memory: Cache, RAM and ROM
Secondary Memory: Fixed and Removable storage – Hard Disk Drive, CD/DVD Drive, Pen Drive, Blue Ray Disk.
Input Output Ports/ Connections: Serial, Parallel and Universal Serial Bus, PS-2 port, Infrared port, Bluetooth, Firewire.
Unit 2: Programming Methodology (28 Theory + 10 Practical) Periods
General Concepts: Modular Approach, Clarity and Simplicity of Expressions, Use of proper names for Identifiers, Comments, Indentation, Documentation and Program Maintenance, Running and Debugging programs, Syntax Errors, Run-Time Errors, Logical Errors, Comments in C++
Problem Solving Methodologies: Understanding of the problem, Solution for the problem, Identifying minimum number of inputs required for output, Writing code to optimizing execution time and memory storage, step by step solution for the problem, breaking down solution into simple steps (modular approach), Identification of arithmetic and logical operations required for solution
Control Structure- looping (finite and infinite), Conditional control
Problem Solving: Introduction to Algorithms/Flowcharts
Unit-3: Introduction to C++ (44 Theory + 36 Practical) Periods
Getting Started: C++ character set, C++ Tokens (Identifiers, Keywords, Constants, Operators, ), Structure of a C++ Program (include files, main function), Header files – iostream.h, iomanip.h, cout, cin; use of I/O operators (<
Data Types, Variables and Constants: Concept of Data types; Built-in Data types: char, int, float and double;, Constants: Integer Constants, Character constants (- \n, \t, \b), Floating Point Constants, String Constants, Access modifier: const; Type modifier: signed, unsigned, long, Declaration/Initialization of variables
Operator and Expressions: Operators: Arithmetic operators (-, +, *, /, %), Assignment operator (=) C++ shorthands (+=, -=, *=, /=, %=), Increment (++) and Decrement (–) Operators, Relational operator (>, >=, <=, =, !=), Logical operators (!, &&, ||), Conditional operator:
UNIT 4: PROGRAMMING IN C++ (50 Theory + 48 Practical) Periods
Flow of control Conditional statements: if else, Nested if,, switch..case..default, use of conditional operator, Nested switch..case, break statement (to be used in switch..case only), Loops: while, do – while, for and Nested loops
Header file Categorization Header File Function Standard input/output functions stdio.h gets ( ), puts ( ) Character Functions ctype.h isalnum ( ), isalpha( ),isdigit( ) , to lower(), to upper() islower( ), isupper(), String Function string.h strcpy ( ), strcat ( ), strlen ( ), strcmp ( ), srcmpi(), strrev ( ), strupr ( ), strlwr ( ) Mathematical Functions math.h fabs ( ), pow ( ), sqrt ( ), sin ( ), cos ( ), abs ( )
Introduction to user-defined function and its requirement :
Defining a function; Invoking/calling a function, call by value, call by reference,, function prototype, passing arguments to function, specifying argument data types, returning values from a function, default argument, constant argument, calling functions with arrays, scope rules of variables: local and global variables
Structured Data Type
Arrays:Introduction to Array and its advantages.
One Dimensional Array: Declaration/initialization of One-dimensional array, Accepting array elements, accessing array elements
Manipulation of array elements : sum of elements, product of elements, average of elements, linear search, finding maximum/minimum value
Declaration / Initialization of a String : String manipulations: counting vowels/ consonants, digits/special characters, case conversion, reversing a string, reversing each word of a string
Two-dimensional Array: Declaration/initialization of a two-dimensional array, inputting array elements, accessing array elements
manipulation of Array elements: sum of a row elements, column elements, diagonal elements, finding maximum / minimum values
User-defined Data Types: Introduction to user defined data types.
Structure: Defining a Structure (Keyword Structure), declaring structure variables, accessing structure elements, array of structure, passing structure to functions as value and reference, argument/parameter, function returning structure, passing an array of structure as an argument/ a parameter to a function.
typedef: Defining a symbol name using typedef keyword and defining a macro using #define preprocessor directive.
Class XI (Practical) – C++
Duration: 3 hours Total Marks: 30
1. Programming in C++ 10
One programming problem in C++ to be developed and tested on Computer during the examination. Marks are allotted on the basis of following:
Logic : 6 Marks
Documentation : 2 Marks
Output presentation : 2 Marks
2. Project Work 06 + 4*
Problems using String, Number, array and structure manipulation
General Guidelines: Initial Requirement, developing an interface for user (it is advised to use text based interface screen), developing logic for playing the game and developing logic for scoring points
- Memory game: A number guessing game with application of 2 dimensional arrays containing randomly generated numbers in pairs hidden inside boxes.
- Hollywood/Hangman: A word Guessing game
- Cows ‘N Bulls: A word/number Guessing game
- Random Number Guessing Game (High\Low)
- A game to check whether a word does not use any of the forbidden letters
- Cross‘N knots game: A regular tic-tac –toe game.
Similar projects may be undertaken in other domains. (As mentioned in general guidelines for project, given at the end of the curriculum in a group of 2-4 students)
* Collaboration and Presentation of the project
3. Practical File 5+1*
(a) Record of the configuration of computer system used by the student in the computer lab (by exploring inside computer system in the first 2 lab classes).
(b) Must have minimum 20 programs from the topics covered in class XI course.
- Programs on Control structures
- Programs on String manipulations
- Programs on array manipulations(1D & 2D)
- Programs on structures.
*1 mark is for innovating while developing programmes.
4. Viva Voce
Viva will be asked from the syllabus covered in class XI and the project developed by the student(s).
*1 mark is for innovating while developing programme.