CS 236 Fall 2025 Syllabus
Course Syllabus
Department of Computer Science
CS 236 - Object Oriented Programming Using C#
Updated Content Outline (Addendum)
For the most current course objectives and topics, see the updated content outline (Fall 2025 Addendum). This addendum complements the official syllabus and reflects the current course content.
See: CS 236 Updated Course Content Outline (Fall 2025 Addendum)
INSTRUCTOR INFORMATION | - Name
Damon German - Email
dgerman3@jccc.edu - Phone
cell 816-838-6439 - Office/Lab Hours
Monday: 30 minutes before class as needed; Other days/times: May be arranged by appointment scheduled in advance.
|
|---|
COURSE & SECTION INFORMATION | - Credit
4 hrs - Lecture
3 hrs - Lab by Arrangement
2 hrs - Course Type
Transfer - Prerequisite
CS 201 - CRN
81919 - Section
376 - Location
RC-Regnier Center Room 347 - Class Time
Monday 06:00-08:50 PM
|
|---|
COURSE DESCRIPTION | This course prepares students to develop object-oriented, C# applications that solve a variety of problems. Students will apply object-oriented concepts including inheritance, function overloading and polymorphism, and will utilize available classes as well as design their own. Event-driven programming, Windows applications, web development, common data structures, database access and frameworks will be presented. 3 hrs. lecture, 2 hrs. open lab/wk. |
|---|
INSTRUCTIONAL METHOD | Hybrid |
|---|
OPTIONAL TEXT | C# 12 Pocket Reference (ebook available for free via the library) Click or copy/paste the following link: https://www.oreilly.com/library-access/?next=/library/view/C-12-pocket/9781098147532/
|
|---|
COURSE OBJECTIVES | Upon successful completion of this course the student should be able to: Design object-oriented solutions for console applications, Windows Forms applications, and web-based applications and select appropriate technology stacks. Develop, debug, build and execute a variety of C# applications. Employ event-driven programming, event handlers and the .NET library of classes. Develop applications that use C# to read and write information from text files. Employ ADO.NET to create web services and web applications. Apply basic SQL (Structure Query Language) commands to interact with relational database management systems. Employ common data structures in C# programs. Employ a C# framework to create object-oriented C# applications. Explain related technologies such as LINQ (Language Integrated Query), WPF (Windows Presentation Foundation), WCF (Windows Communication Foundation) and how they support object-oriented solutions. Apply the principles of object-oriented design to solve current problems.
|
|---|
CONTENT OUTLINE AND COMPETENCIES | Object-Oriented Programming and Frameworks Discuss the history and objectives of C# and .NET. Explain and utilize the characteristics of object-oriented design. Utilize Visual Studio and explore an associated framework.
Object-Oriented Windows Solutions Discuss key elements of graphical user interfaces (GUI). Discuss issues related to GUI design. Design, develop, debug and execute GUI desktop solutions. Employ common GUI controls.
Event-Driven Programming Implement delegates. Implement event handlers. Apply combo box and list box classes in C# programs. Apply menus, tab controls, radio buttons and check box classes in C# programs.
Advanced Object-Oriented Programming Utilize abstraction, encapsulation, inheritance and polymorphism in object-oriented design. Explain the difference between composition and inheritance. Discuss why polymorphism is a common goal in .NET. Discuss multi-tier applications and component-based development. Utilize abstract and partial classes. Implement interfaces. Implement generics
Error Handling Explain exception classes. Employ standard exceptions and create custom exceptions. Employ exception handling techniques including catching and throwing exceptions and using try, catch and finally blocks. Experiment with the numerous types of errors and exceptions and develop advanced techniques for debugging. Employ the debugger to find run-time errors.
File Input and Output Utilize the System.IO namespace classes. Employ File and Directory classes. Employ FileInfo and DirectoryInfo classes. Apply stream classes to read and write data from text files in C# programs. Read and write binary files.
Data Structures and Data Access with ASP.NET, SQL, and LINQ Discuss common data structures such as lists, stacks, queues and trees. Utilize generics with a data structure to solve an applications problem. Discuss data access technologies. Employ DataReader, DataSet and DataAdapter classes. Employ SQL to query databases. Utilize visual development tools for data access. Explain the use of LINQ.
Web Solutions Compare and contrast Windows versus web development. Explain and employ ASP.NET. Utilize a variety of web controls. Explain web services and their role in distributed applications. Discuss issues related to the development of mobile applications.
C# Frameworks Discuss frameworks and software development kits (SDKs) - what they are and when they are used. Employ a sample framework. Develop and use multimedia classes (e.g., images and sounds). Discuss applications that employ additional devices and hardware. Create an application using a sample framework or SDK.
|
|---|
COURSE REQUIREMENTS | - Exams
- Final Exam
- Quizzes
There will be 3 in-class quizzes. These can include multiple choice questions, writing code, and/or debugging code. The lowest quiz score is dropped. Announced at least one class period ahead of the date taken.
- Coding Projects
- Labs
- Late Policy
No late work is accepted. If not finished, hand in what you have completed. Exception: Missing a test is an automatic 20% deduction, and the test must be made up before the next class period for potential credit to be received. Documented proof of an emergency or severe illness may result in an exemption from a late point deduction.
- Dropped Scores
|
|---|
COLLEGE WORK LOAD EXPECTATION | Students should spend an average of 2–3 hours outside of class on assigned work for each credit hour. (4 credit class = an average of 8–12 hours of assigned work per week) |
|---|
EVALUATION AND GRADING SCALE | See grading information below. |
|---|
Assessment Category | Weight |
|---|
Exams | 25% |
Final Exam | 20% |
Quizzes | 20% |
Coding Projects | 20% |
Labs | 15% |
Percentage | Grade |
|---|
90 – 100% | A |
80 – 89% | B |
70 – 79% | C |
60 – 69% | D |
< 60% | F |
SCORE DISCREPANCIES | If you believe there was an error in the scoring of your work, you have up to two weeks after the initial posting of the score to resolve the issue with me. |
|---|
ATTENDANCE | Attendance is very important in this course. Material is presented and explained which is not in any handout. If you must be absent, you are expected to obtain explanations of assignments and course content from your fellow classmates. Check the Canvas agenda calendar and see me for any returned work that you may have missed. Attendance is taken for each class for reasons pertaining to college requirements. Let me know as soon as possible if you will miss a future class due to a school event (e.g., athletics travel) or work travel. School attendance policy: attendance procedure |
|---|
FACULTY-INITIATED WITHDRAWAL | Following the automatic administrative drop period that occurs at the beginning of each semester, a student who does not submit work for 5 consecutive weeks may be dropped from the course. Note: International students, student-athletes, or students required to maintain full-time status through a third party or insurance may experience serious negative effects from a withdrawal (e.g., falling below full-time status). At least one week in advance, an email will be sent to your JCCC email account alerting you of a potential drop. For additional information, see the Attendance and Class Participation procedure
|
|---|
IMPORTANT DATES | - Aug 25
First Class - Sep 2
Last day to drop and receive a 100% refund. - Sep 22
Last day to drop without a 'W' on a transcript (by 11pm if done via the Web) - Oct 15
Last day to apply for fall graduation. - Nov 15
Last day to drop with a 'W' on a transcript or to request pass/fail. - Nov 26–28
Thanksgiving (college closed) - End of Nov into Dec
Course evaluations. - Dec 8
Final exam 7:00–8:50 pm
|
|---|
DROP DEADLINES | View the drop deadlines for this course. After the 100% refund date, you will be financially responsible for the tuition charges: for details, search on Student Financial Responsibility on the JCCC web page. Changing your schedule may reduce eligibility for financial aid and other third-party funding. Courses not dropped will be graded. For questions about dropping courses, contact the Student Success Center at 913-469-3803. |
|---|
TENTATIVE SCHEDULE | Class 1 – intro to OOP No class Labor Day Class 2 – OOP cont., SOLID design principles, Composition, Dependency Injection, and Polymorphism, Unit Testing Class 3 – SOLID design principles cont. Refactoring Class 4 – Exceptions, Functional programming alternatives, Quiz 1 Class 5 – Strings Class 6 – UI Class 7 – UI cont., Exam 1 Class 8 – Data Structures Class 9 – Generics Class 10 – Generics cont., Quiz 2 Class 11 – Generic Collections and LINQ, Functional Programming Class 12 – Asynchronous Programming, Exam 2 Class 13 – Asynchronous Programming Class 14 – TBD, Quiz 3 Class 15 – Dec 9th. Final 7:00 pm
|
|---|
EMAIL | An email initiated by me (e.g., not a reply) will be sent via Canvas and this should also trigger an email to your JCCC student email account. If needed, you may set your JCCC email and/or Canvas preferences to forward to a different email address. See technical support for instructions. If I receive an email between Monday (8am) and Friday (4 pm) please allow a 24-hour window for me to read and potentially reply to your email. I will generally use office hours for this if I am not busy with someone else. There are no guarantees on the weekend. |
|---|
ACADEMIC INTEGRITY, CHEATING, OR PLAGIARISM | No student shall engage in behavior that, in the judgment of the instructor of the class, may be construed as cheating. This may include, but is not limited to, plagiarism or other forms of academic dishonesty such as the acquisition without permission of tests or other academic materials and/or distribution of these materials. This includes students who aid and abet, as well as those who attempt such behavior. Refer to the "Student Code of Conduct" in the College Catalog for more details. Note: All work is individual unless otherwise stated. Submitted work must reflect your thought and not that of someone else. Cheating minimally results in a 0 for all parties involved. The Dean of Student Services will be notified, and other disciplinary action may also take place. |
|---|
USE OF AI TOOLS | You may use AI tools to assist with coding. The policy for this course is simple: AI disclosure: Attribute only substantial AI assistance—i.e., code or design you likely could not have reasonably produced on your own. A brief note (AI.md or a top-of-file comment) should name the tool, what it generated, and what you changed. Basic IDE help (IntelliSense, autocomplete, simple tab completions) and routine refactors do not require attribution. Git history as process evidence: We use your git history qualitatively to understand your process. It should show incremental development with meaningful commit messages. Risk-based code reviews: For each assignment, a subset of students (random plus those with big-bang or otherwise concerning histories) may be asked to complete a short live review (Zoom or in-lab). You will explain parts of your code and make a small change; flexible scheduling or an asynchronous recording is available.
|
|---|
CAMPUS SAFETY | Classroom and campus safety are of paramount importance at Johnson County Community College and are the shared responsibility of the entire campus population. Please review the following: - Report Emergencies
In person at the Midwest Trust Center (MTC 115); Call 913-469-2500; JCCC Guardian app with panic button and text; Anonymous reports to KOPS‑Watch Reporting Site or 888‑258‑3230. - Be Alert
Be an extra set of eyes and ears; Trust your instincts; Report suspicious or unusual behavior to Campus Police. - Be Prepared
Identify Building Emergency Response floorplan posters; View A.L.I.C.E. training; Familiarize yourself with the College Emergency Response Plan. - During an Emergency
Alerts are sent to all employees and students via email/text (JCCC Alert). Keep your RAVE information current; optionally receive alerts in English/Spanish.
|
|---|
HOW DO I STUDY IN THIS COURSE? | Review and understand all assignments, projects, notes, and readings. Further, practice programming by solving additional problems in the book or by making up your own problems to solve and explore. This is not a course in which notes are merely memorized and regurgitated; it requires deeper levels of understanding. |
|---|
HOW DO I INCREASE MY CHANCE OF SUCCESS? | Do your assigned work early; Turn off digital devices during class; Take responsibility for your learning and participate; Come to every class; Arrive before class begins; Complete all assigned work and prepare according to expectations; Take detailed notes and seek to understand them; Speak and act professionally; Help others during class; Utilize office hours. |
|---|
INSTRUCTOR RIGHT | The instructor reserves the right to modify the syllabus. Any modifications will be announced in advance. |
|---|
24 August 2025