Saturday, 26 May 2012

COURSE OUTLINE





JOMO KENYATTA UNIVERSITY
OF
AGRICULTURE AND TECHNOLOGY
ICS 2201 Object Oriented Programming I ~ Course Outline

Prerequisite:
ICS 2102 Introduction to Computer Programming

Purpose of the course
The students will understand the concepts of object oriented programming (OOP) and learn to write programs for problem solving using an Object Oriented Programming Language.
Course objectives
1.   To learn the concepts of object oriented: Inheritance, Polymorphism, Dynamic binding,
     
Message passing, Data abstraction, Encapsulation etc
2.   To learn the aspects of the programming and problem solving process, including problem
     
specification and organization, coding, debugging and testing
3.   To learn the syntax and develop skill in programming in an object oriented programming
     
language (C++).
Course Description
Object oriented programming: Syntactic constructs, data abstraction, classification and inheritance, typing and polymorphism, testing and debugging.

Course Content and Plan

Week       Topic                                                                                                                                          HOURS
1               Introduction Object oriented programming:                                                                               5
-       Comparison of structural (procedural) and object oriented programming
languages.
-       Basic concepts of Objects Oriented programming
-       OOP languages and Applications

2               Introduction to C++, Elementary syntax and Programming.                                                   5
-       The C++ Basics
-       Basic Data types and declarations:
-       User Defined Data Types & Derived Data Types.
-       Standard library and Header files.
3               Fundamental types of C++:                                                                                                           5
-       Delaration: Enumerations, TypeDef, Const
-       promotion of variables, casts
Operators:
-       Arithmetic operators in C++, Logical operators, Bitwise operators, the size of
       
operator, shortcuts increment and decrement expressions.


4               Control structures                                                                                                                           5
-       Selection: If and other constructs
-       Repetition: While  and Other constructs
Arrays:
-       Use of arrays
-       Representation of arrays
-       Passing arrays as parameters to a function
-       Initializing arrays of objects.
5               Functions in C++                                                                                                                             5
-       Main functions, Function prototype and Definitions
-       Call and return by reference and by value
-       Static type checking
-       Default values to parameters
-       Inline Functions, Function overloading
6,7            Objects and Classes                                                                                                                       5
-       Abstractions (ADTs) and Class specification
-       Member and private Member Functions
-       Memory Allocation for Objects
-       Arrays of objects
8               Constructors and destructors                                                                                                      5
-       Constructors and multiple constructors in a class
-       Copy constructor and dynamic constructors
-       Constructor initialization lists
-       Destructors
-       Const member functions
9               Separating interface from implement                                                                                          5
-        Encapsulations separate compilation of classes
-        Software re-usability.
-       Friend functions and classes
10,11       Class Inheritance: Defining derived classes                                                                              5
-       Concepts of Inheritance
-       Types of Inheritance
-       Single and Multiple Inheritance
-       Member classes
-       Constructors and inheritance
12             Polymorphism: Definition to polymorphism                                                                            5
-       Types of polymorphism
-       Pointers to objects and Pointers to derived classes
-       virtual functions and pure virtual functions
13             Operator Overloading and Type conversion                                                                          5
-       Overloading unary and binary operators
-       Rules for overloading operators
-       Type conversion
14             Console I/O Operations and File Data types                                                                          5
-       C++ stream classes
-       Unformatted and Formatted Console I/O Operations
-       File stream Operation Classes
-       File pointers and Manipulators
-       Error Handling File Operations
15 &        Examination week
16
Reference Materials:
  Beginning C++, The complete Language By Ivor Horton
  Programming in C++ by E Balagurusany
  C++ How To Program By Deitel and Deitel
  Any relevant C++ book
  Internet Resources

Support Material and resources
  C++ programming language software, Internet.
Delivery Mode: Lectures, Lab sessions, Assignments and Reading

Method of Evaluation
 Written End of semester Exams        70%
 Two/Three Cats                               15%
 Two Assignments                               5%
 Practicals                                         10%
Lecturer:  J. Wainaina

Wednesday, 23 May 2012

ACCOUNTING 1

INCOMPLETE RECORDS 



An incomplete record situation is whereby, the accounting system falls short of the double entry.  This may be due to:
-      Lack of records at all; or
-      Insufficient records that will facilitate the preparation of final accounts.
Reasons for incomplete records:
a)       Managers or owners may not have the skills or expertise in preparing and maintaining an accounting system (records and procedures).
b)      It may not be economical for the business to maintain accounting records due to the volume or/and nature of transactions (small scale businesses)
c)       Records are destroyed (e.g. through fire), stolen or misplaced. 

There are 4 main approaches in preparing final accounts where there are insufficient records.

a)     Estimating income from the net assets.
b)    Estimating income from the use of ratios.
c)     Use of a simple cashbook and bank statement.
d)    Use of control accounts.

N/B:  approach number c and d are normally used together.

(a)          Estimating Income from the Net Assets
Where the available records are so deficient (i.e. it is impossible to compile a reasonable complete cash summary, the only method of estimating the profits or loss for the period, is to prepare statement of affairs showing the net worth of the business at the beginning and at the end of the period.

The profit/loss is estimated by use of the following formulas:

Profit or loss =  Closing            Opening     +      Drawings           Additional
                        Capital              Capital                                          Capital

Or where there are no non current liabilities then this optional formula can be used

Profit or loss =  Closing            -        Opening       +      Drawings      -    Additional
                         Net Asset                 Net Asset                                         Capital

Example:   6.1
A sole trader’s capital position is as follows:


31 December

19X2
19X3

£
£
Motor vehicle:


   Cost
7,500
7,500
   Depreciation
3,000
4,500

4,500
3,000
Stock
2,960
3,450
Debtors
1,150
2,060
Bank
925
2,125
Cash
__263
___54

9,798
10,689
Creditors
2,860
3,340
Net assets
6,938
7,349

He has estimated his drawings for 19X3 at £12,500.  Estimate his net profit for the year.