Defrag-o-matic using c#

profileHardik Gondalia
CourseOutlineCMPE2300-2018.pdf

COURSE OUTLINE 2018/2019

COURSE NAME: Object-Oriented Programming COURSE CODE: CMPE2300

COURSE DESCRIPTION

Creating sophisticated programs requires advanced techniques in programming. This course provides detailed coverage of the C# implementation of object oriented programming. Students will create extensible class hierarchies that employ inheritance, polymorphism, and interfaces. Topics such as delegates, threading, and reflection will be explored in the application of more advanced algorithms.

Course Credits: 6.00

Pre-requisites: CMPE1600, CMPE1700

Equivalent Courses: CNT2300

LEARNING OUTCOMES

OUTCOME Upon successful completion of this course, you will be able to

1 Design and code C# classes using multiple assemblies.

The following concepts, skills, and issues are used to support this Outcome:

Complete applications using multiple assorted external assemblies integrated with internal

application classes.

Create solutions that contain separate projects as type libraries.•

2 Incorporate static and instance properties, methods and members in a C# class.

The following concepts, skills, and issues are used to support this Outcome:

Implement proper canonical form with respect to member access protection and form.•

3 Design and implement interfaces for C# classes.

The following concepts, skills, and issues are used to support this Outcome:

Create class hierarchies that incorporate user-defined interface types.•

4 Design and implement polymorphic types that participate in inheritance hierarchies.

The following concepts, skills, and issues are used to support this Outcome:

Using abstract, virtual, and override keywords, correctly implement complex class hierarchies

leveraging polymorphic behaviour.

Create class hierarchies that contain abstract classes.•

A NAIT COMMUNITY ENGAGED IN ALL THINGS SUSTAINABLE 1 | CMPE2300

5 Design and implement predicates and extensions with reference to framework interfaces and generics.

The following concepts, skills, and issues are used to support this Outcome:

Using the currently available .NET generic containers, implement data storage management

using extension methods ( with available delegate types )

Create and implement lambda expressions in place of explicit predicate, function, filter and

selection method references.

Implement a code block as a lambda expression, anonymous method, or full method

appropriately when applied to a given situation.

6 Design and implement multi-threaded projects in C#.

The following concepts, skills, and issues are used to support this Outcome:

Create worker methods using explicit Thread instances.•

Implement inter-thread communication using flags, delegates and semaphore constructs.•

Implement threads appropriately to balance performance and resource utilization.•

STUDENT EVALUATION

OUTCOME ACTIVITY DESCRIPTION MARK DISTRIBUTION

1, 2, 3, 4, 5 and

6 Assignments 10%

1, 2, 3, 4, 5 and

6 Labs 20%

1, 2, 3, 4, 5 and

6 Practical Exams 40%

1, 2, 3, 4, 5 and

6 Theory Exams 30%

TOTAL 100%

COURSE COMPLETION REQUIREMENTS

No less than 50% is required to successfully complete this course.

STUDENT EQUIPMENT AND SUPPLIES

Please refer to course syllabus.

DELIVERY METHOD

This course will be taught using a variety of delivery methods which may include face-to-face, online, or blended teaching

platforms. Collaborative exercises/assignments, seminars, labs, discussion, audio/visual presentations, case studies, and other

such activities may be used to support learning.

A NAIT COMMUNITY ENGAGED IN ALL THINGS SUSTAINABLE 2 | CMPE2300

ADDITIONAL INFORMATION

Students are expected to spend a significant amount of time out-of-class working on lab material.

STUDENT RESPONSIBILITY

Enrolment at NAIT assumes that the student will become a responsible citizen of the Institute. As such, each student will display

a positive work ethic, assist in the preservation of Institute property, and assume responsibility for his/her education by

researching academic requirements and policies; demonstrating courtesy and respect toward others; and respecting expectations

concerning attendance, assignments, deadlines, and appointments.

EQUITY STATEMENT

NAIT is committed to providing an environment of equality and respect for all people within the learning community, and to educating faculty, staff, and students in developing inclusive teaching and learning contexts that are welcoming to all.

Leadership Review Date: June 05, 2017

Curriculum Committee Review Date: June 05, 2017

Changes to This Course Outline: Every effort has been made to ensure that information in this course outline is accurate at the time of publication. The Institute reserves the right to change courses if it becomes necessary so that course content remains relevant. In such cases, the instructor will give the students clear and timely notice of the changes.

All Rights Reserved: No part of this course outline may be reproduced in any form or resold without written permission from NAIT. Copyright 2017.

A NAIT COMMUNITY ENGAGED IN ALL THINGS SUSTAINABLE 3 | CMPE2300