VIDEOS PROJECTS/RESOURCES

If there is one prayer that you should pray/sing every day and every hour, it is the LORD's prayer (Our FATHER in Heaven prayer)
It is the most powerful prayer. A pure heart, a clean mind, and a clear conscience is necessary for it.
- Samuel Dominic Chukwuemeka

For in GOD we live, and move, and have our being. - Acts 17:28

The Joy of a Teacher is the Success of his Students. - Samuel Dominic Chukwuemeka

Welcome to C# Programming Language


I greet you this day,

For My Students, please do the following:
First: Download and install the Microsoft Visual Studio Integrated Development Environment (IDE), or any suitable IDE for C#
Second: Review the required readings for each module including the Student-Teacher scenarios.
Third: Review the recommended readings for each module.
Fourth: Review the recommended videos and textbooks for each module.
Fifth: Complete the DB (Discussion Board) assignments for each module.
Sixth: Start thinking about your midterm project, final project, and final exam.
Seventh: Review the midterm exam and final exam study guides.
Eighth: Should you have any questions, comments, concerns, areas of improvement, and constructive criticisms; please attend the weekly Office Hours/Live Sessions and/or contact me via the school's email system.
Ninth: If you are majoring in any IT (Information Technology) field (especially for women and minorities), you may want to check the Financial Aid section in any of my websites: Scholarships or Scholarships

For My Students and Visitors:
Comments, ideas, areas of improvement, questions, and constructive criticisms are welcome.

For All Those who Seek Peace:
Thank you for visiting.

Samuel Dominic Chukwuemeka (SamDom For Peace) B.Eng., A.A.T, M.Ed., M.S





Discussion Board (DB) Requirements

(1.) Please review the Rules of Netiquette

(2.) Please be creative.
Please paraphrase in your words as applicable.

(3.) No two posts should discuss the same thing.
Each post should be unique.
This implies that you should review any previous posts before you submit your own post.

(4.) The initial post is due on Thursday of the week for which it is required.

(5.) At least one response to the initial post is due on Saturday of the week for which it is required.

(6.) Only one thread per student is allowed.
Please do not create more than one thread.
Please respond to my comments (as applicable) in the same initial thread.
Please make any repost in the same initial thread.
Besides the Introduction DB (where I am required to welcome each student); usually, I make comments to some posts and some responses submitted by Thursday of the week that a DB assignment is due.
If I make any comment to your initial post and/or response (submitted by Thursday); then it is very important you address any concern in my comments.
If you do not understand my comments, please attend the Office Hours/Live Sessions and/or send an email to me and ask for clarification.
I do not go back-and-forth (responding more than one time) to a student in DB forums.
The essence of DB forums is mainly for student communication and collaboration.
The professor only facilitates and makes few comments as necessary.
Typically, if I make any comment to your post and/or response for any DB assignment besides the Introduction DB, it means that you need to fix some issues.
It is important you fix those issues to avoid deduction of points.

(7.) You may not do any of the same examples that I did for either a DB post or DB response.

(8.) You may do any of the questions in the Discuss tab as a substantive post and/or substantive response.

(9.) You may make up your own substantive post and/or substantive response if it is actually substantive.
However, in this case; it is very important you ask me for prior approval.
You may ask me during the Office Hours/Live Sessions and/or via the school's email.

(10.) You may solve the problems in the Assess tab as a DB assessment (post and response).
Questions in the Assess tab count for both DB post and DB response.
Each question in the Assess tab is to be uniquely done by only one student.
This means that it can be done by more than one student.
However, each post must be unique.
Further: For any Textbook Question:
(a.) Please submit a clear screenshot of the Question Number and the Question.
(b.) Any question from the textbook in the Assess tab should be done by only one student.

(11.) Sources must be cited accordingly.
You may use: APA (American Psychological Association) style, MLA (Modern Language Association) style, or the Chicago Manual of Style.

(12.) Please submit clear screenshots.
For all applicable DB posts and responses, please use the Snipping Tool or the Snip & Sketch on your computer to take clear screenshots and trim off excess space/irrelevant information from your program code and output.
Then, use the Insert/Edit Image icon on the Blackboard editor to insert the screenshots of your code and the output.
This is because your colleagues and I should be able to see your code and the output clearly.
Line numbers and all necessary details including the file names are also required.
You may need to increase the font size of your IDE so it is very clear.
You may need to take the screenshots of only the relevant window (the code window).
You may need to take several screenshots.
Also, please ensure you use a clear format for your writings.
Avoid any background colors in the Blackboard Editor.

(13.) Please do not submit an attachment for any DB assignment.
If you do, it will not be clicked. It will not be read. It will not be graded.
Your colleagues and I should be able to see your work directly without opening any attachment.
Any response to such post will not be counted.
Hence clear screenshots are required.

(14.) For all DB responses, please mention the first name of your colleague.

(15.) Provide a substantive response to your colleague.
A substantive response is the response that provides constructive criticism, alternative approach that gives the same correct output, additional helpful information that will improve the post, and the correction of any incorrect step and/or output among others.
How would you improve the initial post?
Did you find any errors in the initial post? If you do, please correct the error. Teach your colleague about the error, and explain to him/her how to fix it. Provide screenshots as applicable.
What new knowledge can your colleague acquire from you based on your response?
Can you solve the initial post using an alternative approach that will give the same correct output?
What real-world examples/applications can you provide based on the initial post? Cite your sources accordingly.
Did your colleague learn anything meaningful from you based on your response to the initial post?
Please focus on the initial post. Do not deviate from the concept/topic in the initial post. Do not bring up your own unrelated topic/concept.
Teach/Show your colleague something new and meaningful based on the initial post.
Write code examples as applicable, run them, and explain to your colleague.
Substantive responses should include screenshots as applicable.

(16.) Please use at least a size of 14 pt in your writings on the Blackboard Editor, and an acceptable large font size on all your programs (IDE and output console among others).

(17.) Please proof-read your writings for mechanical accuracy errors.
Any use of "i" attracts deduction of points.
Multiple mechanical accuracy errors will lead to deduction of points.
I understand that this is not an English class. However, you are expected to write well.

(18.) Please make sure that you write comments for any program you submit.
Rule of Thumb for Comments (for academic purposes): Anyone (including those with little or no programming knowledge) should be able to read your comments and have a basic idea of your program.
Unless written otherwise (for some questions), I am not saying you should write comments for every line of code.
I am asking you to write comments for every code block (section of code).
Do you read my comments? Of course, you should. I provide explanations in my comments.
Does it make sense? Yours should not be different.

Definitions

A Computer program is a set of instructions given to a computer to perform specific tasks.

A Computer programmer also known as a coder is a person who writes computer programs.

A statement in C++ is an individual instruction of a program.

A Variable is a portion of computer memory for storing a data value.

Identifiers are unique names used to identify variables.

A string is a variable in C++ that contains a collection of characters enclosed in double quotation marks.

Object-oriented Programming (OOP) Language is a programming language that uses objects to accomplish the goals of a computer program.

An Object is anything that can be touched, seen, or used.
These include: data types (it can be used), variables (it can be used), toolbox controls (it can be seen and used) among others.

An Object is also defined an instance of the class (when you use the class that has been created).

Instantiation is the act of creating an object.

The Behavior of an object includes methods and events.

A Method is an action that an object can perform.
For example: The Exit button can use the $Me.Close()$ method to close an application.
In Object-Oriented Programming, methods are often called procedures

Events are the actions to which an object can respond.
For example: The Click event of the Exit button allows the button to respond to a mouse click.

Properties are the set of attributes that determine the appearance and behavior of an object.

Access Modifiers specify the level of access classes and class members provide to other classes.

Encapsulation is the combination of fields, properties, methods, and events of an object in a class(capsule).
In other words, keep all the data and program logic in one place.

Inheritance is the ability to create a new class that reuses, extends, and modifies/overrides the behavior defined in another class.
The main class whose members are inherited is known as the Base class or Super class
The class that inherits the members of the main class is known as the Derived class or Sub class
The derived class inherits members of the main class using the Inherits clause.

Abstraction is the hiding away of some details about a program so one can focus on the main details.
For example, the $PrintForm()$ class in Visual Basic enables one to print a Windows form application at run time (when the program is running)
There are so many details about the $PrintForm()$ class. However, that is not your concern. Your concern is to use that class and print a form. So, those details are hidden from you.
Another example: You do not really want to know how the printer was developed. You just want to know how to use the printer and print your documents.

Constructors are class methods whose instructions are processed automatically whenever the class is used to create/instantiate the object.
They are used to initialize the variables of the class.

Declared Elements are programming elements that is defined in a declaration statement.
They include: variables, constants, structures, properties, events, methods/procedures, and classes among others.

Identifiers are the names used for declared elements such as the names of variables, constructors, methods/functions, and classes among others.

Every element name in C# must follow these rules:
(1.) It must begin with an alphabet character ($A - Z$, $a - z$) or an underscore ($_$).
(2.) It must only contain alphabet characters ($A - Z$, $a - z$), decimal digits ($0 - 9$), and underscores ($_$).
(3.) It must contain at least one alphabet character ($A - Z$, $a - z$) or a decimal digit ($0 - 9$) if it begins with an underscore ($_$).

Fields/Variables are usually named in Camel casing (like the hump back of a camel) or Pascal casing.
Camel casing: Begin with a lowercase alphabet, middle is an uppercase alphabet (the hump of a camel) and end with a lowercase alphabet such as $testScore$
Pascal casing: Begin with an uppercase alphabet, middle is an uppercase alphabet, end with a lowercase alphabet such as $TestScore$

Class names begin with an uppercase alphabet such as $Student$
Constructors begin with an underscore and then use Camel casing such as _$testScore$

A backing store is the private variable that is assessed by a public property.
It is the same type as the property

Course Description and Student Learning Outcomes

Module 1: Introduction

Module 2: Variables and Data Types

Module 3: Numbers and Operators

Module 4: Strings, Booleans, Date and Time

Module 5: Statements; Midterm Project

Module 6: Methods

Module 7: Arrays and Tuples

Module 8: Multidimensional Arrays and Jagged Arrays

C# Final Exam and Final Project

Course Description and Student Learning Outcomes

Module 1: Object-oriented Programming

Module 2: Properties

Module 3: Exceptions; Midterm Project

Module 4: Inheritance and Polymorphism

Module 5: Array Class and Tuple Class

Module 6: Files and Streams

Module 7: Extensible Application Markup Language (XAML)

Module 8: Extensible Application Markup Language (XAML)

Advanced C# Final Exam and Final Project

Student Evaluation of Faculty

Dear Students,
Greetings to you.
As you evaluate me and my teaching style on the Blackboard course, I ask that you consider these questions in addition to the survey questions.
Thank you for giving me the opportunity to teach the course.
It was nice working with you.
I wish you the best in your academic profession.
Thank you!

Samuel Dominic Chukwuemeka (SamDom For Peace) B.Eng., A.A.T, M.Ed., M.S
Working together for success

Classroom/Learning Environment: Blackboard course management system.
Course Assessments: Discussion Board (DB) assignments, Midterm Project, Final Project and the Final Exam
Direct forms of communication: live office hours/tutoring sessions, emails, comments to your DB posts and responses and phone calls.
Indirect forms of communication: course announcements, websites (notes, videos, etc).

Course Contents
Please review the Course Description and Student Learning Outcomes
It is the first link in your course.
Those are the basic topics that KSU require that I teach.

(1.) Did I cover those topics: teaching and/or providing resources for those topics?

(2.) Did I cover other necessary topics that is relevant for you to succeed in your profession?

(3.) Did the assessments demonstrate the application of the topics?

(4.) Did the contents and assessments demonstrate important skills such as critical thinking, use of technology, creativity, and organization among others?

Teaching and Learning
(5.) Did you acquire any knowledge from me?

(6.) Did you acquire sufficient knowledge, or more than sufficient knowledge from me?

(7.) Did you acquire any knowledge from any of your colleagues because of how the course was set up?

(8.) Did you acquire sufficient knowledge, or more than sufficient knowledge from any of your colleagues because of the way the course was set up?

(9.) Did I provide multiple ways of completing each assessment?
In other words, were you given several options of completing each assessment?

(10.) Did I provide effective feedback for any of your assessments?

(11.) Did you acquire any knowledge based on that feedback?

(12.) Did the feedback help you improve in any way?

(13.) Did you have enough support to ensure the successful completion of the course?
Were your questions answered?
Did you have enough resources/learning aids?

(14.) Did I provide a safe and conducive environment for learning?

(15.) Was the Grading Method fair?

Pacing Guide
(16.) Were you given enough time to learn the contents?

(17.) Were you given enough time to complete the assessments?
Consider the fact that you were given two due dates for your Midterm Project, Final Project, and Final Exam; and that there was no penalty for late work after the first due date.

Professionalism
(18.) In all our communication (both direct and indirect), did I act professionally?

(19.) In all our communication (both direct and indirect), did I use a respectful tone?

(20.) What do you like or dislike about our communication?

Personality
(21.) Based on your experience with me (taking the course with me and communicating with me among others), how would you describe my person?
Do I give a lot of work?
Do I give a lot of explanations?
Do I have a lot of expectations for my students?
Do I really want you to learn?
Do I really want you to succeed?
Do I ask a lot of questions?
Do I answer questions with questions sometimes?
In those times, please note that it is a teaching technique. It is never meant to disrespect you. I do not disrespect my students. I respect them. It is a technique to guide you to review directions/concepts, and explain what you do not understand.
Would you take another course with me? Why or why not?
Did your views/perception about me affect you in completing this course successfully or unsuccessfully?