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

Course Philosophy


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

TypeIn ClassOut of Class
Lecture Hours4.08.0
Laboratory Hours1.50.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


  1. Reading: Required reading from the text
  2. 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


  1. Completion of programming assignments evaluated on use of structured design principles, documentation programming style, efficiency, and correctness of output.
  2. 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.
  3. 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.
  4. 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.
Essential College Facilities:
  • Computer lab equipped with an integrated development environment tool supporting C# development

Examples of Primary Texts and References


AuthorTitlePublisherDate/EditionISBN
"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


AuthorTitlePublisher
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


  1. Describe the Computing Basics and C# as a programming language.
    1. Hardware
    2. Networking
    3. Software
    4. Features of C#
    5. C# Installation
    6. C# and the Internet
    7. Third-Party C# Tools
    8. C# Applications
  2. Describe datatypes, expressions in basic C# programs.
    1. Integers
    2. Floating Types
    3. Boolean
    4. Variables
    5. Assignments
    6. Constants
    7. Comments
  3. Describe Input/Output functions and formatting techniques.
    1. For reading Strings, numbers - integers and double.
    2. Formatting Numbers, Strings
  4. Build Simple Program using operators in expressions.
    1. Unary
    2. Conditional
    3. Assignment
    4. Arithmetic
    5. Relational
    6. Logical
    7. Bitwise
    8. Operator Precedence
    9. Operators used with Strings
  5. Apply Flow of Control concepts in C# programs.
    1. if
    2. while
    3. do while
    4. for
    5. switch
  6. Use Functions/Methods in writing programs.
    1. Method Definition
    2. Calling a method in C#
    3. break and continue statements
  7. Apply the concepts of Arrays in C# programs.
    1. Single-dimensional and multidimensional arrays
    2. Searching algorithm
    3. Sorting algorithm
  8. Create Objects and write Classes.
    1. Features, benefits, applications of Object-Oriented programming
    2. Objects and classes
    3. Class variables and methods
    4. Constructors
    5. Overloading
    6. Strings
  9. Apply the concepts of Inheritance in Object Oriented C# programs.
    1. Subclasses
    2. protected, private, public
    3. super
    4. this
    5. Object Class
    6. Inner classes
    7. Polymorphism
  10. Describe additional Object-Oriented Concepts and apply in simple C# Programs.
    1. Abstract methods and classes
    2. Helper Classes
    3. Wrapper Classes
    4. Final Classes
    5. Interfaces
    6. Basic C# Packages
  11. Implement File I/O in C#.
    1. Definition of Stream, Buffer and Filters
    2. Text Streams
    3. Binary Streams
    4. ObjectStreams
  12. Apply Graphical User Interface development using ASP forms in C#.
    1. Writing GUI Applications
    2. Events
    3. Components
    4. Containers
    5. Labels
    6. Text
    7. Lists
    8. Buttons
    9. Layout Managers
  13. Apply the basic of Exception Management in C#.
    1. try
    2. throw
    3. throws
    4. finally
  14. Apply the basic Thread concepts.
    1. Thread Class
    2. Runnable Interface
    3. Synchronized
    4. Destroy
    5. Run
    6. Resume
    7. Sleep
    8. start
    9. suspend

Lab Topics


  1. Debug code and output results of execution.
  2. Write and/or debug code implementing Object theory basics
  3. Write and/or debug code implementing Object relationships.
  4. Write and/or debug code implementing Interfaces and abstract classes
  5. Write and/or debug code implementing GUI development.
  6. Write and/or debug code implementing Exception Handling.
  7. Write and/or debug code implementing File Input and Output.
  8. Write and/or debug code implementing Inner Classes.
Back to Top