CIS150 - C# Development I
3 Credit hours - 2 Lecture, 2 Lab
Prerequisite(s): Grade of “C” or better in CIS120
Course Rationale:
This course provides the student with the necessary problem solving skills; introductory program design skill; and programming skills required for computer information science and serves as a prerequisite for more advanced courses.
Catalog Description:
This course is an introduction to structured, event-driven and object-oriented programming using the C# language. Students will learn to design programs that solve common business problems using good programming style appropriate in a team environment. Students will also learn to use a variety of visual components to create effective user interfaces targeting the Windows operating system.
Course Objectives
Upon successful completion of this course, the student should be able to:
Identify, explain and apply the basic features and syntax of the C# programming language to write software.
Enter, edit, document, save, compile, execute, debug and print C# programs using modern development tools.
Identify and explain certain problem-solving techniques for computer program design.
Identify, explain and apply program design tools (eg flowcharts, pseudocode, etc) to program design.
Apply techniques from above to analyze a task/problem statement and to create a program design.
Using a program design, write structured computer programs using sequence, decision, and repetition control structures.
Create and manipulate data files using streams, arrays, and elementary data structures.
Identify and explain the concepts and terminology of object-oriented programming.
Identify and explain Internet resources, reference manuals, textbooks, tutorials, online, and other reference material to resolve questions on function or operation.
All course assignments and exams are closely aligned to, and assess the student's mastery of these core objectives.
Core Outcomes
In this course, students continue to build upon the programming knowledge gained in CIS-120 and learn how to write, debug, and maintain well formed, well documented C# code. By the end of this course, students should be able to:
Understand the fundamentals of the C# programming language and .NET Framework
Understand console-based applications - characteristics and capabilities of console-based applications
Understand the Universal Windows Platform (UWP) - creating applications with the fluent design system, using the SDK
Using the XAML coding style to create user interfaces for applications
Demonstrate the use of data types, variables and expressions
Declare and use primitive data type variables - data types, including byte, char, int, double, short, long, float, boolean; identify when precision is lost; initialization; how primitives differ from wrapper object types such as Integer and Boolean
Construct and evaluate code that manipulates strings - string class and string literals, comparisons, concatenation, case and length; String.format methods; string operators; converting a primitive data type to a string; the immutable nature of strings; initialization; null
Construct and evaluate code that creates, iterates, and manipulates arrays and array lists - including initialization, null, size, iterating elements, accessing elements; array lists, including adding and removing elements, traversing the list
Construct and evaluate code that performs parsing, casting and conversion - implementing code that casts between primitive data types, converts primitive types to equivalent object types, or parses strings to numbers
Construct and evaluate arithmetic expressions - arithmetic operators, assignment, compound assignment operators, operator precedence
Implement flow control in code
Construct and evaluate code that uses branching statements - if, else, else if, switch; single-line versus block; nesting; logical and relational operators
Construct and evaluate code that uses loops - while, for, for each, do while; break and continue; nesting; logical, relational, and unary operators
Implement and Perform Object-Oriented Programming
Construct and evaluate a class definition - constructors; constructor overloading; one class per .cs file; this keyword; inheritance and overriding at a basic level
Declare, implement, and access data members in a class - private, public, protected; instance data members; static data members; create constants; describe encapsulation
Declare, implement, and access methods - private, public, protected; method parameters; return type; void; return value; instance methods; static methods; overloading
Instantiate and use a class object in a program - instantiation; initialization; null; accessing and modifying data members; accessing methods; accessing and modifying static members; importing packages and classes
Demonstrate proper steps of debugging, troubleshooting, and testing code
Troubleshoot syntax errors, logic errors, and runtime errors - print statement debugging; breakpoints; analyzing code for logic errors; console exceptions after running the program; evaluating a stack trace
Understanding testing in software development
Write unit tests for code to check for correct performance
Implement exception handling - try catch finally; exception class; exception class types; display exception information
Demonstrate how to validate input from the user
Attempt to catch important exceptions with various catch blocks
Clean up resources with the finally block
Explain the reason source control is used in software development and demonstrate the ability to use source control systems such as Azure DevOps Server (formerly TFS) to create repositories, check code into repositories, create and use branches, merge branches, and create pull requests.
Test Out Requirements
Students who wish to demonstrate proficiency in this course will need to complete a Departmental proficiency exam. Departmental proficiency examinations are created by appropriate college faculty to allow students to demonstrate their mastery of course content in designated subjects. These examinations will be equivalent to the cumulative final assessment used in the course. Faculty will determine the minimum score required to earn credit by exam for these courses.
The college’s test out policy is outlined in policy 2.12 - Credit by Exam (Test Out)
Last updated