CIS1842 C# PROGRAMMING
4 Credit Hours
Student Level:
This course is open to students on the college level in either the Freshman or Sophomore year.
Catalog Description:
CIS1842 C# PROGRAMMING (4 hrs.)
An introductory course to give computer science majors an introduction to programming in C#. Windows programs will be created using a structured programming approach. Various problems will be solved using C#.
Course Classification: Lecture
Prerequisites:
NONE
Co-requisites:
NONE
Controlling Purpose:
This course is offered to teach programming skills in C# to students. The basic constructs learned in this course will apply to any programming language (with slight modifications).
Learner Outcomes:
Upon completion of the course, the student will:
1.Explain key programming concepts such as variables, data types, control structures, functions, arrays.
2.Design and implement basic algorithms for solving common computational problems. Students will be able to write, test, and debug programs using appropriate syntax and best practices in a programming language (e.g., Python, Java, C++).
3.Demonstrate proficiency in using conditional statements (if-else) and loops (for, while) to control program flow.
4.Demonstrate proficiency in using conditional statements (if-else) and loops (for, while) to control program flow.
5.Create and use functions to organize and modularize code, applying principles of reusability and abstraction.
6.Write programs that handle basic user input and display output, including file I/O operations.
7.Demonstrate knowledge of fundamental data structures, such as arrays and/or lists, and apply them effectively in problem-solving.
8.Use structured problem-solving techniques to decompose complex problems and develop effective, efficient solutions through programming.
Unit Outcomes for Criterion Based Evaluation:
The following defines the minimum core content not including the final examination period. Instructors may add other content as time allows.
UNIT 1: INTRODUCTION TO C# PROGRAMMING
Outcomes: Upon completion of this unit, the student will be able to write programs that use input/output statements, arithmetic operators, equality/relational operators and decision-making statements, Write simple C# programs.
- Use input and output statements.
- Become familiar with primitive data types.
- Understand basic memory concepts.
- Use arithmetic operators.
- Understand the precedence of arithmetic operators.
- Write decision-making statements.
- Use relational and equality operators.
UNIT 2: CONTROL STATEMENTS: PART 1
Outcomes: Upon completion of this unit, the student will be able to write programs that use the If, If/Else, While, and increment/decrement/assignment operators.
- Understand basic problem-solving techniques of programming.
- Develop algorithms through the process of top-down, stepwise refinement.
- Use the if and if…else selection statements to choose among alternative actions.
- Use the while repetition statement to execute statements in a program repeatedly.
- Understand counter-controlled repetition and sentinel-controlled repetition.
- Use the increment, decrement and assignment operators.
UNIT 3: CONTROL STATEMENTS: PART 2
Outcomes: Upon completion of this unit, the student will be able to write programs that use the Do/While, Switch, Break and Continue statements. They will also know how to use logical operators.
- Use the for and do…while repetition statements to execute statements in a program repeatedly.
- Understand multiple selection with switch selection statement.
- Use the break and continue program-control statements.
- Use the logical operators.
UNIT 4: METHODS
Outcomes: Upon completion of this unit, the student will be able to construct programs in a modular sense and understand the scope of the variables and calling techniques.
- Construct programs modularly from small pieces called methods.
- Become familiar with the common math methods available in the Framework Class Library.
- Create new methods.
- Understand the mechanisms for passing data between methods.
- Introduce simulation techniques that use random number generation.
- Understand how the visibility of identifiers is limited to specific regions of programs.
- Understand how to write and use methods that call themselves.
UNIT 5: ARRAYS
Outcomes: Upon completion of this unit, the student will be able to write programs that use arrays.
- Become familiar with the array data structure.
- Understand how managed arrays store, sort and search lists and tables of values.
- Understand how to declare and initialize a managed array.
- Be able to refer to individual elements of a managed array.
- Understand how to pass arrays to methods.
- Understand basic sorting techniques.
- Be able to declare and manipulate multidimensional managed arrays.
UNIT 6: OBJECT-BASED PROGRAMMING
Outcomes: Upon completion of this unit, the student will be able to write programs that use objects. The student will gain an understanding of some of the basic concepts of objects and how to work with them.
- Understand encapsulation and data hiding.
- Understand the concepts of data abstraction and abstract data types (ADTs).
- Create, use and destroy objects.
- Control access to data members and methods.
- Use properties to keep objects in consistent states.
- Understand the use of the this reference.
- Understand namespaces and assemblies.
- Use the Class View in Visual Studio .NET.
UNIT 7: EXCEPTION HANDLING
Outcomes: Upon completion of this unit, the student will be able to incorporate error checking into their programs.
- Understand exceptions and error handling.
- Use try blocks to delimit code in which exceptions may occur.
- Throw exceptions.
- Use Catch blocks to specify exception handlers.
- User the Finally block to release resources.
- Understand the C# exception-class hierarchy.
- Create programmer-defined exceptions.
UNIT 8: GRAPHICAL USER INTERFACE CONCEPTS: PART 1
Outcomes: Upon completion of this unit, the student will be able to incorporate the graphical controls: buttons, labels, lists, textboxes, and panels into their programs. The student also will get an introduction to events.
- Understand the design principles of graphical user interfaces.
- Understand, use and create event handlers.
- Understand namespaces that contain graphical user interface components and event-handling classes and interfaces.
- Be able to create graphical user interfaces.
- Be able to create and manipulate buttons, labels, lists, textboxes, and panels.
- Be able to use mouse and keyboard events.
UNIT 9: GRAPHICAL USER INTERFACE CONCEPTS: PART 2
Outcomes: Upon completion of this unit, the student will be able to incorporate the graphical controls: menus, tabbed windows, List View, Tree View, Link Label, List boxes, and Combo boxes into their programs. Also, the student will know how to create a multiple-document-interface program.
- Be able to display lists using list boxes and combo boxes.
- Understand the use of the List View and Tree View controls for displaying information.
- Be able to create menus, window tabs and multiple-document-interface (MDI) programs.
- Create custom controls.
UNIT 10: STRINGS, CHARACTERS AND REGULAR EXPRESSIONS
Outcomes: Upon completion of this unit, the student will be able to manipulate string/character objects and understand how to use regular expressions.
- Create and manipulate immutable character string objects of class String.
- Create and manipulate mutable character string objects of class String Builder.
- Use regular expressions in conjunction with classes Regex and Match.
UNIT 11: FILES AND STREAMS
Outcomes: Upon completion of this unit, the student will be able to work with files and directory structures.
- Be able to create, read, write, and update files.
- Understand the C# streams class hierarchy.
- Be able to use classes File and Directory.
- Be able to use the FileStream and Binary Formatter classes to read objects from, and write objects to, files.
- Become familiar with sequential-access and random-access file processing.
UNIT 12: DATABASE, SQL AND ADO.NET
Outcomes: Upon completion of this unit, the student will be able to access relational databases.
- Understand the relational database model.
- Understand basic database queries written in Structured Query Language (SQL).
- Understand and use ADO.NET’s disconnected model.
- Use the classes and interfaces of namespace System::Data to manipulate databases.
- Use the classes and interfaces of namespace System::Data::OleDb.
UNIT 13: MANAGING PROGRAM FLOW
Outcomes: Upon completion of this unit, the student will be able to create multithreaded applications.
- Implement multithreading and asynchronous processing
- Manage multithreading
- Implement program flow
- Create and implement events and callbacks
- Implement exception handling
UNIT 14: CREATE AND USE TYPES
Outcomes: Upon completion of this unit, the student will be able to create applications using types.
- Create types
- Consume types
- Enforce encapsulation
- Create and implement a class hierarchy
- Find, execute, and create types at runtime by using reflection
- Manage the object life cycle
- Manipulate strings
Unit 15: Advanced Object-Oriented Programming Concepts
Outcomes: Upon completion of this unit, the student will be able to apply advanced object-oriented programming principles to develop scalable, reusable, and maintainable applications in C#.
- Implement inheritance, polymorphism, and abstraction to enhance code reusability.
- Utilize interfaces and abstract classes to design flexible software architectures.
- Apply design patterns such as Singleton, Factory, and Observer to solve common programming challenges.
- Understand and implement dependency injection to improve modularity and testability.
- Develop applications using advanced class structures, including nested classes and partial classes.
Unit 16: Web Development with ASP.NET
Outcomes: Upon completion of this unit, the student will be able to develop dynamic web applications using ASP.NET and integrate backend functionality with databases and APIs.
- Understand the fundamentals of web development using ASP.NET Core.
- Build interactive web applications using Razor pages and MVC architecture.
- Implement session management and authentication to secure web applications.
- Connect ASP.NET applications to databases using Entity Framework and LINQ.
- Consume and create RESTful APIs for data exchange between client and server applications.
- Deploy web applications to cloud platforms or on-premises servers.
UNIT 17: DEBUG APPLICATIONS AND IMPLEMENT SECURITY
Outcomes: Upon completion of this unit, the student will be able to create applications using advanced security features and use extended debugging features.
- Validate application input
- Perform symmetric and asymmetric encryption
- Manage assemblies
- Debug an application
- Implement diagnostics in an application
UNIT 18: IMPLEMENT DATA ACCESS
Outcomes: Upon completion of this unit, the student will be able to access files, databases, and web services using LINQ.
- Perform I/O operations
- Consume data
- Query and manipulate data and objects by using LINQ
- Serialize and deserialize data
- Store data in and retrieve data from collections
Projects Required:
Varies, refer to syllabus.
Textbook:
Contact Bookstore for current textbook.
Materials/Equipment Required:
Traditional Classroom Delivery: None. Although installing Visual Studio .NET 2003 at home will aid in doing the coursework.
Attendance Policy:
Students should adhere to the attendance policy outlined by the instructor in the course syllabus.
Grading Policy:
The grading policy will be outlined by the instructor in the course syllabus.
Maximum class size:
Based on classroom occupancy
Course Time Frame:
The U.S. Department of Education, Higher Learning Commission and the Kansas Board of Regents define credit hour and have specific regulations that the college must follow when developing, teaching and assessing the educational aspects of the college. A credit hour is an amount of work represented in intended learning outcomes and verified by evidence of student achievement that is an institutionally-established equivalency that reasonably approximates not less than one hour of classroom or direct faculty instruction and a minimum of two hours of out-of-class student work for approximately fifteen weeks for one semester hour of credit or an equivalent amount of work over a different amount of time. The number of semester hours of credit allowed for each distance education or blended hybrid courses shall be assigned by the college based on the amount of time needed to achieve the same course outcomes in a purely face-to-face format.
Refer to the following policies:
402.00 Academic Code of Conduct
263.00 Student Appeal of Course Grades
403.00 Student Code of Conduct
Accessibility Services Program:
Cowley College, in recognition of state and federal laws, accommodates all students with a documented disability. If a student has a disability that will impact their ability to be successful in this course, please contact the Student Accessibility Coordinator for the needed accommodations.
DISCLAIMER: THIS INFORMATION IS SUBJECT TO CHANGE. FOR THE OFFICIAL COURSE PROCEDURE CONTACT ACADEMIC AFFAIRS.
|