PRO670 - C# Programming for the .Net Platform

Outline info
Last revision date 2018-07-20 12:00:55.05
Last review date 2018-07-20 12:01:21.407

Subject Title
C# Programming for the .Net Platform

Subject Description
C# is a modern, object-oriented language intended to be the premier language for building enterprise, web-based applications using the .NET Framework. It is simple, type-safe programming language that combines the high productivity of Visual Basic with the raw power of C++. This subject is taught on .NET 4.5 on Visual Studio 2017. It focuses on the C# programming fundamentals, program structures and language syntax. It provides students the working knowledge and skills needed to develop C# applications for the Microsoft .NET platform. Students will learn to build a range of object-oriented applications, from client-side GUI development, to server-side web services. Topics include the .NET Framework, .NET Visual Studio IDE, overview of object oriented programming, arrays, methods, inheritance, polymorphism, files and streams, garbage collection, exception handling, versioning support, debugging, and the NGWS runtime environment.

Credit Status
This is a credit subject applicable towards the CPA diploma in the Computer Studies credit program as outlined in the Computer Studies Program Information Package.

Learning Outcomes
Upon successful completion of this subject the student will be able to:

1. Define the .NET Platform and the .NET Runtime Environment

2. Understand basic architecture of the NGWS (Next Generation Windows System)

3. Identify the basic components of the C# language

4. Use .NET objects and classes

5. Write, compile, and run simple C# programs

6. Create self-contained classes and frameworks in a C# application

7. Define custom structs, enums, objects and classes

8. Design classes with properties, methods, indexers, and events

9. Create, initialize and use arrays
10. Understand and use inheritance and polymorphism

11. Understand call semantics (call by value, call by reference)

12. Understand namespaces, garbage collection and exception handling concepts

13. Use and manipulate XML XML [XML Web services allow applications to communicate and share data over the Internet, regardless of operating system, device, or programming language.] with C# applications

Cheating and Plagiarism
Each student should be aware of the College's policy regarding Cheating and Plagiarism. Seneca's Academic Policy will be strictly enforced.

To support academic honesty at Seneca College, all work submitted by students may be reviewed for authenticity and originality, utilizing software tools and third party services. Please visit the Academic Honesty site on for further information regarding cheating and plagiarism policies and procedures.

All students and employees have the right to study and work in an environment that is free from discrimination and/or harassment. Language or activities that defeat this objective violate the College Policy on Discrimination/Harassment and shall not be tolerated. Information and assistance are available from the Student Conduct Office at

Accommodation for Students with Disabilities
The College will provide reasonable accommodation to students with disabilities in order to promote academic success. If you require accommodation, contact the Counselling and Disabilities Services Office at ext. 22900 to initiate the process for documenting, assessing and implementing your individual accommodation needs.

OOP244, OOP400, and JAC444 

Topic Outline
Overview of the Microsoft .NET Platform

  • Introduction to the .NET platform
  • Common Language Runtime (CLR)
  • Managed code philosophy
  • Intermediate Language (IL) and metadata
  • Languages in the .NET framework

Overview of C#
  • Structure of a C# program
  • Basic Input/Output operations
  • Classes and objects
  • Namespaces, variables and expressions
  • Compiling, running and debugging

Introduction to the Visual Studio .NET IDE
  • IDE Menu bar and toolbars
  • Solution Explorer, Toolbox, Properties windows
  • Creating console applications
  • Building, configuring, running and debugging project programs
  • Using IDE help

Control Structures, Data Types
  • If, while, do-while and for loop structures
  • Switch multiple-selection structure
  • Data types
  • Primitive data types
  • Explicit and implicit type conversion

Methods, Namespaces and Properties
  • Value types and reference types
  • Method argument passing: pass-by-value and pass-by-reference
  • Method overloading 
  • Namespaces
  • Properties
  • Indexers

  • Declaring and allocating arrays
  • Passing arrays to methods
  • Passing arrays by value and reference
  • Command line arguments
  • Searching and sorting arrays

Object-oriented Programming: Classes and Objects
  • Constructors, overloaded constructors
  • Static class members
  • Constant and read-only class members
  • Garbage collection
  • This reference

Object-oriented Programming: Inheritance
  • Inheritance in C#
  • Base and derived classes
  • Protected and internal class members
  • Constructors and destructors in derived classes

Object-oriented Programming: Polymorphism
  • Derived to base class object conversion
  • Virtual methods
  • Abstract classes and methods
  • Delegates
  • Operator overloading

Exception Handling
  • Exception fundamentals
  • .NET exception hierarchy
  • Exception properties

Files and Streams
  • Attributes
  • Files and Streams
  • Sequential access files
  • Random access files
  • Classes File and Directory

Graphical User Interface (GUI) Concepts
  • Windows Forms and Libraries
  • How to create Labels, Text Boxes, and other useful controls
  • Timers
  • Event-handling model associated with controls 

ASP .NET, Web Forms (Optional)

  • Introduction to ASP .NET
  • Creating and running a simple Web Form example 
C# and Xamarin (Optional)
  •  Introduction to Xamarin and how C# is used
  • Creating and running a small (mobile) application built for four platforms
UML and How to Build a Complex application (Optional)
  • Introduction to UML
  • Analysis for a small complex application (Alarm Clock)
  • Design of the application
  • Phases of implementation of the project
  • How to use OOP to design and implement the project
  • How to use GUI to build a (complex) application

Mode of Instruction
In this subject, students will learn course topics through class lectures, handouts, assignments, reading assignments, lab sessions, tests and structured code walk-throughs. 

It is the student's responsibility to save documents, articles and notes that the instructor has provided on BlackBoard or in class. Students will not be able to access BlackBoard as of the last day of the student’s class.

Prescribed Texts
C# 2012 for Programmers, 5th edition
by Deitel & Deitel, Prentice Hall, ISBN#013144156, 9780132618205

Required Supplies
A USB flash drive (minimum 2GB) is required for storing the programming assignments.  The students will have access to the microcomputers during lab classes and the Microcomputer Lab during the evenings and weekends for course assignments and exercises.  

Promotion Policy

Grading Policy
A+ 90%  to  100%
A 80%  to  89%
B+ 75%  to  79%
B 70%  to  74%
C+ 65%  to  69%
C 60%  to  64%
D+ 55%  to  59%
D 50%  to  54%
F 0%    to  49% (Not a Pass)
EXC Excellent
SAT Satisfactory
UNSAT Unsatisfactory

For further information, see a copy of the Academic Policy, available online ( or at Seneca's Registrar's Offices.

Modes of Evaluation
Since this is a professional credit subject, marking standards reinforce professional practice by demanding legible, tidy work. Written materials should be well organized and grammatically correct, with proper spelling and punctuation.


  • Students must retain a duplicate of all assignments.
  • Computer assignments should be documented to the instructor's standards.
  • Assignments must be handed in on the scheduled due date. Late assignments are penalized.
  • For particulars, please obtain standards, dates, etc. from your instructor.

Absenteeism and Tests
  • Students should be aware that absenteeism will impact on their ability to achieve satisfactory grades.
  • If you miss a test, you must provide the reason in writing to the instructor prior to the next scheduled class. If your reason is accepted, you will be permitted to write a make-up test. Otherwise, you will be given a zero for the test. You must submit an original doctor’s certificate identifying the date, length of time of expected absence and the specific reason for your absence, or other appropriate documentation.
Term Work and Final Exam
  • Students must attain a combined grade of at least 50% on term work and the final exam. Students must pass the final exam in order to pass the subject. 
  • For further information on evaluation and academic standing, see a copy of the Academic Policy available at Seneca registration offices.

Grading is based on the following marking scheme:

Tests and Quizzes(minimum 3)
Assignments (minimum 2)
Final Exam

Approved by: Denis Gravelle