CSC 305 + Lab: Object-Oriented Programming

Offered Under: B.Sc. in Computer Science (CSC)
Description

This course introduces the concepts of object-oriented programming to students with a background in the procedural paradigm. Design principles and patterns of modularity and abstraction in object-oriented programming are discussed in detail. Basic concepts covered: objects, classes, constructors, destructors, abstract data types, composition, inheritance, polymorphism, overloading, function chaining. More advanced topics include:  friend and virtual functions, template functions and classes, using standard library classes as building blocks for an application. Languages used are C++, C# or Java.



Course Type Major
Credit Hour 4
Lecture Hour 60
Expected Outcome(s):
  • Understand the benefits of object oriented design and when it is an appropriate methodology to use.
  • Design, write and test programs that make appropriate use of advanced object-oriented facilities common to object-oriented languages such as overloading and inheritance.
  • Manipulate classes provided in the programming API and incorporate them into solutions.


Grading Policy:

Biweekly Quiz, Biweekly Programming Assignment, One Midterm Exam, One Final Exam


Letter Grade Marks Grade Point
A 90 - 100 4.00
A- 85 - 89 3.70
B+ 80 - 84 3.30
B 75 - 79 3.00
B- 70 - 74 2.70
C+ 65 - 69 2.30
C 60 - 64 2.00
C- 55 - 59 1.70
D+ 50 - 54 1.30
D 45 - 49 1.00
F 00 - 44 0.00