# C - 14 CURRICULUM FOR DCME

###### BASICS OF COMPUTER ENGINEERING

Sub Code
Name of the Subject
Instruction Periods/Week
Total Periods Per Year
Scheme Of Examinations
Theory
Practicals
Duration
(hrs)
Sessional Marks
End Exam Marks
Total Marks
THEORY SUBJECTS
CM-101
English-I
2
-
60
3
30
70
100

CM-102
Engineering Mathematics - I
5
-
150
3
20
80
100

CM-103
Engineering Physics
4
-
120
3
20
80
100

CM-104
Engineering Chemistry and Environmental studies
4
-
120
3
20
80
100

CM-105
Basics of Computer Engineering
4
-
120
3
20
80
100

CM-106
Programming in C
5
-
180
3
20
80
100

PRACTICAL SUBJECTS
CM-107
Engineering Drawing

-
6
180
3
40
60
100
CM-108
C Programming Lab Practice
-
6
180
3
40
60
100

### CM-109

Physics Lab Practice
-
3
90
3
20
30
50
Chemistry Lab Practice

-
3
20
30
50
CM-110
Computer Fundamentals Lab Practice
-
3
120
3
40
60
100

Total
24
18
1320
-
270
630
900
Subject                         :  Basics of Computer Engineering
Subject Code               : CM - 105
Periods per Week       : 4
Periods per Year         : 120

Objectives
Upon completion of the course the student shall be able to

1.0   Understand Fundamentals of Computer
1.1.       Define various terms related to computers – Computer, Hardware , Software, Firmware, High Level Language , Low Level Language
1.2.       Draw the block diagram of a Computer.
1.3.       Describe the interaction between the CPU, Memory, Input / Output devices
1.4.       Describe the function of CPU and major functional parts of CPU
1.5.       Describe the function of memory.
1.6.       Describe the function of input/output devices.
1.7.       State the relevance of speed and word length for CPU Performance.
1.8.       Recognize the current family of CPUs used in Computers.
1.9.       State the use of storage devices used in a Computer.
1.10.    List the two types of memory used in a Computer.
1.11.    State the importance of cache memory.
1.12.    Explain the generations of computers.
1.13.    Give the classification of computers - based on a) size, b) processor.
1.14.    State the importance of binary number system for use in Digital Computers

2.0   Implement Programming Methodology.
2.1.       State the different steps involved in problem solving.
2.2.       Define algorithm.
2.3.       List four characteristics of algorithm.
2.4.       Define a program
2.5.       Differentiate between program and algorithm.
2.6.       State the steps involved in algorithm development.
2.7.       Differentiate algorithm and flowchart.
2.8.       Develop algorithms for simple problems.
2.9.       Draw the symbols used in flowcharts.
2.10.    Draw flowcharts for simple problems.

3.0  Understand Number systems
3.1.       List the various number systems used in digital Computer.
3.2.       Convert decimal number into binary number.
3.3.       Convert binary number into decimal number.
3.4.       Convert binary number into hexadecimal number.
3.5.       Convert hexadecimal number into binary number.
3.6.       Explain the ASCII coding scheme.
3.7.       Explain the EBCDIC coding scheme.

4.0  Understand DOS Operating Systems
4.1.       Describe the need for an operating system.
4.2.       List the various operating systems used presently.
4.3.       DOS Prompt.
4.4.       Classify DOS commands
4.5.       List and explain atleast 10 Internal Commands
4.6.       List and explain atleast 5 External Commands
4.7.       Explain directories and files
4.8.       Know wild card characters
4.9.       Describe Autoexec.bat and  config.sys files

5.0  Understand Windows Operating Systems
5.1.       List the features of Windows desktop.
5.2.       List the components of a Window.
5.3.       State the function of each component of a Window.
5.4.       Explain the Method of starting a program using start button
5.5.       Explain usage of maximize, minimize, restore down and close buttons.
5.6.       State the meaning of a file.
5.7.       State the meaning of a folder.
5.8.       Explain the Method of viewing the contents of hard disk drive using Explorer
5.9.       Explain the Method of finding a file using search option.
5.10.    Describe installing new software using control panel
5.11.    Describe uninstalling software using control panel
5.12.    Explain installing a new hardware using control panel
5.13.    Explain uninstalling a hardware using control panel
5.14.    Narrate finding out drive space using system tool option of  Accessories  group
5.15.    Explain the procedure of disk defragmentation using System tools
5.16.    Narrate installing a printer using control panel
5.17.    Explain the procedure for changing resolution, color, appearance, screensaver options of the display
5.18.    Narrate the process of changing the system date and time

6.0  Understand Features of Internet
6.1.       Explain meaning of a computer network.
6.2.       Describe the concept of a local area network.
6.3.       Explain the concept of the wide area network
6.4.       Compare Internet and Intranet
6.5.       Describe the relevance of an internet service provider.
6.6.       Explain the role of a modem in accessing the Internet.
6.7.       Explain the installation procedure of a MODEM using control panel
6.8.       Explain the purpose of web browser software.
6.9.       Explain the structure of a Universal Resource Locator (URL).
6.10.    Describe the purpose of World Wide Web, FTP, telnet and E-mail
6.11.    Explain the process of sending and receiving E-mail
6.13.    Describe DNS
6.14.    Explain the role of search engines with examples.
6.15.    Describe DHCP
6.16.    Describe Social Network sites.
6.17.    Describe Internet Security.

7.0   Understand Current Technologies in Computers
7.1.       Introduction to Datastructure
7.1.1.    Define Datastructure
7.1.2.    Classify Datastructure
7.2.       Introduction to Database Management Systems
7.2.1.    Define terms Database and Database Management Systems
7.2.2.    List Advantages of Database systems
7.2.3.    Distinguish between Flat file database and Relational Database systems
7.2.4.    List various  existing  Database systems
7.3.       Introduction to Software Engineering
7.3.1.    Define Software engineering
7.3.2.    Need for software engineering
7.3.3.    List different life cycle models in software engineering
7.4.       Introduction to  Open Source Soft wares
7.4.1.    Define Open source soft wares
7.4.2.    List any five open source soft wares
7.5.1.    List any five Networking operating systems
7.5.2.    Define client and server
7.5.3.    List and explain any five features of Networking operating system
7.5.4.    Differentiate between Networking O.S. and Desktop O.S.
7.5.5.    Define file system
7.5.6.    List and explain file systems available FAT, FAT32 and NTFS

8.0        Understand Emerging Trends in Computer Technology
8.1.       Introduction to Cloud Computing
8.1.1.    Define Cloud
8.1.2.    Use of Cloud
8.1.3.    Types of Cloud
8.1.4.    Explain cloud components with a diagram
8.1.5.    List any five applications of cloud computing

8.2.       Introduction to  Network Security
8.2.1.    Define Virus
8.2.2.    Define Worm
8.2.3.    Define Cyber Crime
8.2.4.    Need for Network Security
8.3.       Introduction to  Mobile Communication
8.3.1.    Define Wireless communication
8.3.2.    Define Cellular Systems
8.3.3.    Define GSM and CDMA
8.3.4.    Define Wireless LAN and Bluetooth
###### COURSE CONTENT

1.0  Fundamentals of  Digital Computer
Block diagram of a digital computer, functional parameters of CPU, Clock speed and word length, Functional blocks of a CPU: ALU and Control unit, types of memory RAM, ROM, purpose of cache memory
2.0 Programming Methodology.
Steps involved in problem solving -  Define algorithm , Program - Characteristics of algorithm - Differentiate between program and algorithm- Steps involved in algorithm development -  Differentiate algorithm and flowchart - Algorithms for simple problems -  Symbols used in flowcharts -Flowcharts for simple problems.
3.0 Number system
Binary Number system, Decimal, Binary, hexadecimal and octal codes, Conversion from one number system to another number system, ASCII, BCD and EBCDIC code for characters, concept of a byte and word.
4.0  DOS Operating Systems
Need for an operating system - List the various operating systems - Prompt, Types of commands, Internal & External Commands -  Directories and files, wild cards, autoexec.bat, config.sys

5.0  Windows Operating Systems
Features of Windows desktop - Components of a Window - Function of each component of a Window -  Method of starting a program using start button -Maximize, minimize, restore down and close buttons-  Meaning of a file and flolder -Viewing the contents of hard disk drive using explorer -Finding a file - Formatting a floppy disk using explore option -   Installing and uninstalling new software using control panel -         installing and un inistalling a new hardware using control panel  - Drive space  -                  disk defragmentation - Installing a printer - Changing resolution, colour, appearance and screensaver options of the display - Changing the system date and time

6.0  Features of Internet
Computer network -Local area network - Wide area network - Compare Internet & Intranet - Internet service provider- Role of a modem in accessing the Internet- Installation  of a MODEM using control panel - Web browser software - Structure of a Universal Resource Locator - World Wide Web, FTP, telnet and E-mail -Sending and receiving E-mail - Connection methods - Address format and IP address -  DNS – DHCP-  role of search engines with examples- Differences between search engines and directory -  Social Network sites - Internet Security

7.0.      Current Technologies in Computers
Introduction to Data structure - Introduction to Database Management System Introduction to Software Engineering - Introduction to  Open Source Software -Introduction to  System Administration

8.0       Emerging Trends in Computer Technology
Introduction to Cloud Computing - Introduction to Network Security - Introduction to  Mobile Communication

REFERENCE BOOKS

1. Information Technology                                           - Curtin.
2. Computer Science Theory & Application   - E. Balaguruswamy, B. Sushila
3. Introduction to Computers (Special Indian Edition)            - Peter Norton

###### PROGRMMING IN C
Subject                         : Programming in C
Subject Code               : CM - 106
Periods per Week       : 5
Periods per Year         : 180

 TIME SCHEDULE AND BLUE PRINT Unit No Major Topic No of Periods Weightage of marks Short Type Essay Type Theory Practice R U App R U App 1 Introduction to C Language 4 0 3 1 0 0 0 0 0 2 Constants, Variables and Data Types in C 4 1 3 1 0 0 0 0 0 3 Operators and Expressions in C 4 6 5 0 0 0 0 0 ½ 4 Managing Input and Output Operations 2 2 3 0 0 1 0 0 0 5 Decision making 3 8 13 0 0 1 0 0 1 6 Looping concepts 3 8 13 0 0 1 0 0 1 7 Arrays 5 10 13 0 1 0 0 0 1 8 Strings 2 4 3 0 1 0 0 0 0 9 User defined functions 20 18 1 1½ Functions 6 10 13 1 0 0 0 1 0 Scope , visibility and lifetime 4 0 5 0 0 0 ½ 0 0 10 Basics of Pointers 4 8 13 0 1 0 0 1 0 11 Basics of Structures and Unions 6 4 10 0 0 0 ½ ½ 0 12 Basics of Files management and Preprocessor directives 12 13 1 1 File management 6 3 10 0 0 0 0 1 0 Preprocessor directives 2 1 1 1 0 0 0 0 0 Total 55 65 110 4 3 3 1 3½ 3½

Objectives
Upon completion of the course the student shall be able to

1.0  Introduction to  C Language
1.1  Define High level language and low level language
1.2  Describe the history of C language
1.3  State  the importance of C language
1.4  Explain the structure of C language
1.5  Describe the programming style of C language
1.6  Explain the steps involved in executing the C program

2.0  Understand Constants, Variables and Data Types in C
2.1  Describe character set.
2.2  Explain C Tokens
2.3  Describe Keywords and Identifiers
2.4  Explain Constants and Variables
2.5  Define Data type
2.6  Classify data types and explain them with examples.
2.7  Explain declaration of a variable
2.8  Explain assigning values to variables
3.0  Understand Operators and Expressions in C
3.1  Define an operator
3.2  Define an expression
3.3  Classify operators
3.4  Explain various arithmetic operators with examples
3.5  Illustrate the concept of relational operators
3.6  Explain logical operators
3.7  Describe various assignment operators
3.8  Illustrate nested assignment
3.9  Describe increment and decrement operators
3.10 Illustrate conditional operator
3.11 Explain bitwise operators
3.12 Explain special operators
3.13 Illustrate arithmetic expressions
3.14 Describe precedence and associativity of operators
3.15 Describe evaluation of expressions
3.16 Illustrate type conversion techniques and discuss them

4.0  Understand Input and Output Operations
4.1  Illustrate reading a character using getchar()
4.2  Illustrate writing a character using putchar()
4.3  Illustrate formatted input using scanf()
4.4  Write sample programs for formatted input using scanf()
4.5  Describe formatted output with example programs
4.6  Write sample programs for formatted output using printf()
4.7  Illustrate Preprocessor Directive #include

5.0   Understand Decision making
5.1  Discuss decision making in programming
5.2  Explain decision making statements
5.3  Describe relational operators with their precedence
5.4  Explain logical operators and their precedence
5.5  Explain how to evaluate a logical expression.
5.6  Discuss about simple if statement with syntax and sample program
5.7  Discuss about nested if..else statements with syntax and sample program
5.9  State the importance of indentation
5.10       Discuss about switch statement with syntax and sample program
5.11       Illustrate conditional operator

6.0   Understand Looping concepts
6.1  Define looping
6.2  List atleast three loop statements
6.3  Explain while statement with syntax and sample program
6.4  Explain do.. while statement with syntax and sample program
6.5  Explain ‘for’ loop statement with syntax and sample program
6.6  Define nesting of loops and implement it
6.7  Compare different loop statements
6.8  Differentiate break and continue statements.
6.9   Define structured programming

7.0  Understand Arrays
7.1  Define Array
7.2  Describe declaration and initialization of One Dimensional Array with syntax and sample program
7.3  Explain accessing the elements in the Array  with sample program
7.4  Explain reordering an array in ascending order
7.5  Explain declaration and initialization of two Dimensional Arrays.
7.6  Illustrate the concept of arrays with sample programs on matrix addition and matrix multiplication

8.0    Understand Strings
8.1   Define String
8.2   Know about declaration and initialization of a String variables.
8.4   Know about writing strings to screen with sample program
8.5   Explain about various String handling functions with sample programs.
8.6   Explain Arithmetic operations on Characters

9.0   Understand User defined functions
9.1  Define function.
9.2  State the need for user defined functions
9.3  Discuss the advantages of functions
9.4  Discuss the elements of function
9.5  Discuss about return values and their types
9.6  Define a function call
9.7  Define function prototype
9.8  Illustrate function declaration in programs
9.9    Discuss and illustrate functions with no arguments and no return values with sample programs
9.10 Discuss and illustrate functions with arguments with no return values with sample programs
9.11 Discuss and illustrate functions with arguments with return values with sample programs
9.12 Discuss and illustrate functions with no arguments with return values with sample programs
9.13 Illustrate functions that return multiple values with sample programs
9.14 Define recursion
9.15 Illustrate recursion with sample programs
9.16 Illustrate passing arrays to functions with sample programs
9.17 Discuss the scope, visibility and lifetime of variables in functions
9.18 Differentiate Local and External variables
9.19 Define Global variable
9.20 Discuss passing the global variables as parameters using sample programs

10.0       Understand basics of Pointers
10.1       Define Pointer
10.2       Illustrate declaration and initialization of Pointers.
10.3       Illustrate accessing the address of  a variable using & operator
10.4       Illustrate accessing a value of a variable through pointer
10.5       Differentiate between address and de-referencing operators.
10.7       Illustrate precedence of address and de-referencing operators.
10.8       Discuss on pointer comparison and pointer conversion.
10.9       Illustrate relationship between arrays and pointers.
10.10    Illustrate accessing array elements using pointers
10.11    Illustrate use of pointers as function arguments
10.12    Discuss pointer arrays with examples.
10.13  Explain dynamic memory management functions and illustrate with examples  to use these functions.

11.0       Understand basics of Structures and Unions
11.1       Define a structure.
11.2       Illustrate creating a structure
11.3       Illustrate declaring structure variables
11.4       Explain accessing of the structure members
11.5       Explain array of structures
11.6       Illustrate concept of structure assignment.
11.7       Explain how to find size of a structure.
11.8       Discuss nested structure concept.
11.9       Illustrate use of pointer to structure.
11.10    Illustrate structure as function arguments and structures as function values.
11.11    Illustrate the Structures containing arrays, arrays of  structures containing arrays
11.12    Illustrate concept of structures containing pointers.
11.13    Explain Self referential structures with examples.
11.14    Define Union and illustrate use of a union.
11.15    Differences between Structures and Union

12.0       Understand basics of Files management and Preprocessor directives
6.1 Define file
6.2 Know how to declare file pointer to a file
6.3 Illustrate the concept of file opening in various modes
6.4 Illustrate the concept of closing of a file
6.5 Illustrate the concept of Input / Output operations on a file
6.8 State the need of Preprocessor directives
6.9 Explain Preprocessor directives
6.10 Explain macro substitution using #define with an example

COURSE CONTENT

1.    Introduction to  C Language
Define High level language and low level language-history of C language -  importance of C language - structure of C language - programming style of C language - steps involved in executing the C program

2.    Understand Constants, Variables and Data Types in C
character set -  C Tokens - Keywords and Identifiers- Constants and Variables - data types and classification -  declaration of a variable - Assigning values to variables
3.    Understand Operators and Expressions in C
Define an operator - Define an expression -Classify operators - List and explain various arithmetic operators with examples -Illustrate the concept of relational operators - List logical operators - various assignment operators - Nested assignment  -  Increment and decrement operators - Conditional operator - List bitwise operators -List various special operators- Arithmetic expressions-  precedence and associativity of operators- Eevaluation of expressions - Various type conversion techniques and discuss them.
4.    Managing Input and Output Operations
reading and writing characters  - formatted input and output -Preprocessor Directive #include
5.    Understand Decision making
Decision making in programming - Relational operators with their precedence -Logical operators and their precedence -Evaluate a logical expression -   simple if statement with sample program

6      Understand Looping concepts
Classification of  various loop statements-  while statement – do.. while statement ram -  for loop statement -  nesting of loops- Comparisons of different loop statements - break and continue statements -   structured programming

7      Understand Arrays
Arrays -declaration and initialization of One Dimensional -Array -Accessing the elements in the Array - Reordering an array in ascending order - Declaration and initialization of two Dimensional Arrays - sample programs on matrix addition and matrix multiplication

8      Understand Strings
Strings -  Declaration and initialization of a String variables -   Reading of strings from terminal -  writing strings to screen -  String handling functions with sample programs -  Arithmetic operations on Characters

9      Understand User defined functions
Function -Need for user defined functions - Advantages of functions - elements of function -  Return values and their types - function call -  function prototype - Functions with no arguments and no return values - functions with arguments with no return values - functions with arguments with return values - functions with no arguments with return values -  functions that return multiple values
Recursion - sample programs on recursion -  passing arrays to functions
Scope, visibility and lifetime of variables in functions- Local and External variables -Global variable-  passing the global variables as parameters
10   Understand basics of Pointers
Pointer  - Declaration and Initialization of Pointers-  Accessing the address of  a variable using & operator- Accessing a value of a variable through pointer - Differentiate address and de-referencing operators - Pointer Arithmetic-  precedence of address and de-referencing operators - pointer comparison and pointer conversion -Relationship between Arrays and Pointers - Accessing array elements using pointers-  Pointers as Function Arguments         -  Discuss pointer Arrays with examples-  Dynamic memory management functions

11   Understand basics of Structures and Unions
Structure- Creating a structure - Declaring structure variables -Accessing the structure members - Array of structures - Concept of structure assignment -Find size of a structure - Nested structure concept - Concept of pointer to structure - Structure as function arguments and structures as function values -  Structures containing arrays, arrays of  structures containing arrays -  Concept of structures containing pointers -  Self referential structures with examples - Union and illustrate use of a union – difference between Structures and Union

12   Understand basics of Files management and Preprocessor directives

File - Declare file pointer to a file - file opening in various modes - Concept of closing of a file - Input / Output operations on a file - Random access to files - Need of Preprocessor directives - Various Preprocessor directives- Macro substitution using #define

REFERENCE BOOKS

 1 Programming in ANSI C E. Balaguruswamy Tata McGrawHill 2 Programming with C Gottfried Schaum’outline Tata McGraw Hill 3 C The complete Reference Schildt Tata McGraw Hill

Labels: