Active Outline
General Information
- Course ID (CB01A and CB01B)
- CISD030A
- Course Title (CB02)
- Introduction to C# Programming
- Course Credit Status
- Credit - Degree Applicable
- Effective Term
- Fall 2023
- Course Description
- This course is an introduction to C# programming, .NET environment, computing context, primitive types, the flow of control constructs, operators, text I/O, objects and classes, interfaces, packages, GUI, exceptions, and threads.
- Faculty Requirements
- Course Family
- Not Applicable
Course Justification
This course is UC and CSU transferable. C# is the key language for Microsoft's .NET platform. This course is aimed at the beginner programmer and covers the installation of C# through the writing of applications using GUIs and file I/O. This course belongs on the Liberal Arts A.A. Degree.
Foothill Equivalency
- Does the course have a Foothill equivalent?
- No
- Foothill Course ID
Formerly Statement
Course Development Options
- Basic Skill Status (CB08)
- Course is not a basic skills course.
- Grade Options
- Letter Grade
- Pass/No Pass
- Repeat Limit
- 0
Transferability & Gen. Ed. Options
- Transferability
- Transferable to both UC and CSU
Units and Hours
Summary
- Minimum Credit Units
- 4.5
- Maximum Credit Units
- 4.5
Weekly Student Hours
Type | In Class | Out of Class |
---|---|---|
Lecture Hours | 4.0 | 8.0 |
Laboratory Hours | 1.5 | 0.0 |
Course Student Hours
- Course Duration (Weeks)
- 12.0
- Hours per unit divisor
- 36.0
Course In-Class (Contact) Hours
- Lecture
- 48.0
- Laboratory
- 18.0
- Total
- 66.0
Course Out-of-Class Hours
- Lecture
- 96.0
- Laboratory
- 0.0
- NA
- 0.0
- Total
- 96.0
Prerequisite(s)
Corequisite(s)
Advisory(ies)
ESL D272. and ESL D273., or ESL D472. and ESL D473., or eligibility for EWRT D001A or EWRT D01AH or ESL D005.
Limitation(s) on Enrollment
Entrance Skill(s)
General Course Statement(s)
Methods of Instruction
Lecture and visual aids
Discussion of assigned reading
Discussion and problem solving performed in class
Quiz and examination review performed in class
Homework and extended projects
Collaborative learning and small group exercises
Collaborative projects
On-line tutorial
Class presentations
Assignments
- Reading: Required reading from the text
- Programs: 8-12 programming homework assignments pertaining to the topics listed in X as Lab Topics, including several of more than 200 lines and several which use 5 or more functions.
Methods of Evaluation
- Completion of programming assignments evaluated on use of structured design principles, documentation programming style, efficiency, and correctness of output.
- One or more examinations requiring some programming demonstrating ability to develop an algorithm and/or write code using specific programming constructs presented in the course. Code is evaluated on correctness.
- In-class lab problems, group collaborative problems, exam questions and/or online assignments or tutorials demonstrating the ability to read and analyze code through debugging and/or writing snippets of code.
- A final examination requiring some programming demonstrating ability to develop an algorithm and/or write code using specific programming constructs presented in the course. Code is evaluated on correctness.
Essential Student Materials/Essential College Facilities
Essential Student Materials:Â
- None.
- Computer lab equipped with an integrated development environment tool supporting C# development
Examples of Primary Texts and References
Author | Title | Publisher | Date/Edition | ISBN |
---|---|---|---|---|
"Microsoft Visual C# Step by Step (9th Edition) (Developer Reference) 9th Edition " by John Sharp, by Microsoft Press, 2018 |
Examples of Supporting Texts and References
Author | Title | Publisher |
---|---|---|
None. |
Learning Outcomes and Objectives
Course Objectives
- Describe the Computing Basics and C# as a programming language.
- Describe datatypes, expressions in basic C# programs.
- Describe Input/Output functions and formatting techniques.
- Build Simple Program using operators in expressions.
- Apply Flow of Control concepts in C# programs.
- Use Functions/Methods in writing programs.
- Apply the concepts of Arrays in C# programs.
- Create Objects and write Classes.
- Apply the concepts of Inheritance in Object Oriented C# programs.
- Describe additional Object-Oriented Concepts and apply in simple C# Programs.
- Implement File I/O in C#.
- Apply Graphical User Interface development using ASP forms in C#.
- Apply the basic of Exception Management in C#.
- Apply the basic Thread concepts.
CSLOs
- Create algorithms, code, document, debug, and test intermediate level C# programs.
- Read, analyze and explain intermediate level C# programs.
Outline
- Describe the Computing Basics and C# as a programming language.
- Hardware
- Networking
- Software
- Features of C#
- C# Installation
- C# and the Internet
- Third-Party C# Tools
- C# Applications
- Describe datatypes, expressions in basic C# programs.
- Integers
- Floating Types
- Boolean
- Variables
- Assignments
- Constants
- Comments
- Describe Input/Output functions and formatting techniques.
- For reading Strings, numbers - integers and double.
- Formatting Numbers, Strings
- Build Simple Program using operators in expressions.
- Unary
- Conditional
- Assignment
- Arithmetic
- Relational
- Logical
- Bitwise
- Operator Precedence
- Operators used with Strings
- Apply Flow of Control concepts in C# programs.
- if
- while
- do while
- for
- switch
- Use Functions/Methods in writing programs.
- Method Definition
- Calling a method in C#
- break and continue statements
- Apply the concepts of Arrays in C# programs.
- Single-dimensional and multidimensional arrays
- Searching algorithm
- Sorting algorithm
- Create Objects and write Classes.
- Features, benefits, applications of Object-Oriented programming
- Objects and classes
- Class variables and methods
- Constructors
- Overloading
- Strings
- Apply the concepts of Inheritance in Object Oriented C# programs.
- Subclasses
- protected, private, public
- super
- this
- Object Class
- Inner classes
- Polymorphism
- Describe additional Object-Oriented Concepts and apply in simple C# Programs.
- Abstract methods and classes
- Helper Classes
- Wrapper Classes
- Final Classes
- Interfaces
- Basic C# Packages
- Implement File I/O in C#.
- Definition of Stream, Buffer and Filters
- Text Streams
- Binary Streams
- ObjectStreams
- Apply Graphical User Interface development using ASP forms in C#.
- Writing GUI Applications
- Events
- Components
- Containers
- Labels
- Text
- Lists
- Buttons
- Layout Managers
- Apply the basic of Exception Management in C#.
- try
- throw
- throws
- finally
- Apply the basic Thread concepts.
- Thread Class
- Runnable Interface
- Synchronized
- Destroy
- Run
- Resume
- Sleep
- start
- suspend
Lab Topics
- Debug code and output results of execution.
- Write and/or debug code implementing Object theory basics
- Write and/or debug code implementing Object relationships.
- Write and/or debug code implementing Interfaces and abstract classes
- Write and/or debug code implementing GUI development.
- Write and/or debug code implementing Exception Handling.
- Write and/or debug code implementing File Input and Output.
- Write and/or debug code implementing Inner Classes.