0% found this document useful (0 votes)
311 views

Srm-Object Oriented Programming in C

This document provides information on an Object Oriented Programming course in C++. It includes the purpose, instructional objectives, and units of the course. The purpose is to teach OOP concepts like classes, objects, encapsulation, inheritance and polymorphism using C++. The 5 units cover fundamentals of C++, classes and objects, inheritance and polymorphism, generic programming and exception handling, and the Standard Template Library and file handling. Experiments are also listed to help students apply the concepts through programming exercises. Required textbooks and references are provided.

Uploaded by

Vallam Ramesh
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
311 views

Srm-Object Oriented Programming in C

This document provides information on an Object Oriented Programming course in C++. It includes the purpose, instructional objectives, and units of the course. The purpose is to teach OOP concepts like classes, objects, encapsulation, inheritance and polymorphism using C++. The 5 units cover fundamentals of C++, classes and objects, inheritance and polymorphism, generic programming and exception handling, and the Standard Template Library and file handling. Experiments are also listed to help students apply the concepts through programming exercises. Required textbooks and references are provided.

Uploaded by

Vallam Ramesh
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 5

OBJECT ORIENTED PROGRAMMING IN C++ L T P C

Total contact 75 3 0 2 4
Prerequisite Nil
PURPOSE
Object Oriented Programming (OOP) has become preferred programming
paradigm by the software industries, as it offers powerful way to cope with the
complexity of the real world problems. This course provides the students with
the concepts of OOP from the eyes of C++.
INSTRUCTIONAL OBJECTIVE
1. To learn basic concepts of Object Oriented programming classes, objects
and encapsulation, inheritance and polymorphism.
2. To develop generic programs that support data types at runtime and handle
exceptions.
3. To learn Standard Template Library in C++ and file handling mechanism
UNIT I - FUNDAMENTALS OF C++ (9 hours)
Programming paradigms Procedure Oriented Programming and Object
Oriented Programming systems (OOPS) - History of C++- Characteristics of
OOPS- ANSI/ISO standard; C++ Tokens - Data Types, keywords; Operators,
Arrays, Branching and iterations; Introduction to Standard Library-namespacesStrings-Vectors
UNIT II-CLASSES AND OBJECTS (9 hours)
Functions-Pointers- Structures Unions- Classes, Objects Data Members and
Member Functions Constructors and Destructors Copy constructors,
Parameterized constructors - Static data members and functions; Objects as
function arguments Friend Function Friend Class.
UNIT III-INHERITANCE AND POLYMORPHISM (9 hours)
Polymorphism- Function overloading Operator overloading this pointer;
Derived classes Types of Inheritance Virtual Base Classes Abstract classes
Virtual Functions Pure Virtual Functions Type Conversion Static and
Dynamic binding.

UNIT IV-GENERIC PROGRAMMING AND EXCEPTION HANDLING


(9 hours)
Need for Template - Function Template Class Template Principles of
Exception handling try,throw,catch Exception Handling Mechanism
catching multiple exceptions Rethrowing Exception - Exception Specification
terminate & unexpected functions uncaught Exception
UNIT V-STL AND FILE HANDLING (9 hours)
Introduction to STL Standard containers Algorithms and Function objects
Iterators Maps, multimap Lists File Stream Classes File operations File
pointers and manipulators Error handling in Files

LIST OF EXPERIMENTS (30 hours)


1. Programs to Implement Various Control Structures.
2. Programs to understand Strings and Vectors
3. Programs to Understand Structure & Unions.
4. Programs to Understand Pointers.
5. Functions & Recursion.
6. Constructors & Destructors, Copy Constructor.
7. Programs to Understand Friend Function & Friend Class.
8. Programs to Implement Inheritance.
103 IT-Engg&Tech-SRM-2013
9. Programs to Implement Polymorphism & Function Overloading.
10. Programs to Implement Virtual Functions.
11. Programs to Overload Unary & Binary Operators Both as Member Function
&
Non Member Function.
12. Programs on Class Templates & Function Templates.

13. Programs Using Exception Handling Mechanism.


14. Programs to Implement STL concept.
15. Programs Using File Stream classes.
TEXT BOOK
1. BjarneStroustrup, The C++ Programming Language , Pearson Education
, 3rd Edition, 2010
REFERENCES
1. Harvey M. Deitel and Paul J. Deitel, C++ How to Program, Deitel&
Associates, Inc. 2008
2. E. Balagurusamy, Object-Oriented Programming with C++, TMH, 4th
Edition, 2008.
3. R.Subburaj ,Object Oriented Programming with C++, Vikas Publishers,
New Delhi, 2003

COMPUTER ORGANIZATION AND ARCHITECTURE L T P C


Total contact hours 75 3 0 2 4
Prerequisite
Knowledge of basics of Electronic engineering is preferred
PURPOSE
Better understanding of interaction between hardware and software within a
computer is required for any computing professional. This course intends to
offer a framework for understanding the relationship between hardware and
software by focusing on the concepts that are fundamental in building a basic
computer.
INSTRUCTIONAL OBJECTIVES
1. Understand digital computers and their fundamental architecture.
2. Understand functionalities and organization of processor units and their
types.
3. Gain knowledge on fundamentals of openCL programming
UNIT I - DIGITAL DATA REPRESENTATION (9 hours)
Introduction to Number Systems- Number Base Conversions Signed number
representation, fixed and floating point representations, character representation.
Computer arithmetic - integer addition and subtraction, ripple carry adder, carry
look-ahead adder, etc. multiplication - shift-and-add, Booth multiplier, carry
save
Multiplier, etc. Division - non-restoring and restoring techniques, floating point
Arithmetic.
UNIT II-LOGICAL AND COMBINATIONAL CIRCUITS (9 hours)
Logical operations using gates- logic expression minimization Combinational
circuits and flip-flops- Classifications of semiconductor memories and memory
organization
UNIT III-FUNCTIONAL BLOCKS OF A COMPUTER (9 hours)
CPU, Memory, Input-Output subsystems, Control unit. Instruction set
architecture of a CPU - registers, Instruction execution cycle, RTL interpretation
of instructions, Addressing modes, Instruction set, Hardwired and
microprogrammed design approaches.
Case study 1. Design of a simple hypothetical CPU2. Instruction sets of some
common CPUs
UNIT IV-PERIPHERAL DEVICES AND THEIR CHARACTERISTICS (9
hours)
Input-output Subsystems, I/O Transfers - program controlled, interrupt driven
and DMA, Privileged and Non-privileged instructions, Software Interrupts and

Exceptions. Programs and Processes - Role of interrupts in process state


transitions.
UNIT V-PERFORMANCE ENHANCEMENT TECHNIQUES (9 hours)
Basic concepts of pipelining, throughput and speedup, Pipeline hazardsMemory interleaving, concept of hierarchical memory organization, Cache
memory, cache size vs. block size, mapping functions, replacement algorithms,
write policy.
LIST OF EXPERIMENTS (30 hours)
1. Implementation of basic gates, Half and Full adder
2. Implementation of MUX, DEMUX, Flip Flops
3. Coding and implementation of Arithmetic operations using algorithms
4. Familiarization with assembly language programming.
5. Introduction to OpenCL SDK Kit.
6. Hello world program with OpenCL.
7. Matrix Multiplication program with OpenCL.
8. Multiplication of array program with Open CL.
9. Selection sorting program with Open CL.
TEXT BOOKS
1. John P. Hayes, Computer Architecture and Organization, McGraw Hill.
2. Vincent P. Heuring and Harry F. Jordan, Computer Systems Design and
Architecture, Pearson Education.
REFERENCES
1. David A. Patterson and John L. Hennessy, Computer Organization and
Design: The Hardware/Software Interface, Elsevier.
2. Carl Hamachar, ZvoncoVranesic and SafwatZaky, Computer Organization,
McGraw Hill.
3. Benedict R. Gaster, Lee Howes,Heterogeneous computing with Open CL.
4. William Stallings, Computer Organization and Architecture: Designing for
Performance, Pearson Education.

You might also like