C C T B H P N

Lecture #4 - The C# Programming Language

Components and Introduction to C#

Synopsis:

Introduction to C#:

This lecture provides an introduction to the C# programming language. We will cover the basic C# language, some of its unique features, and present several examples.

Lecture Content:

  1. The Syllabus describes topics to be covered, reading material for you to digest before coming to class, and due dates for the assigned projects.
  2. Lecture and Help Videos
  3. Help Session this Friday, Sept 14th at 9:00am in CST 4-201.
  4. Projects:

    Time to start thinging about Project #2:

    • Project #1
      Operational Concept Document for Lexical Analyzer - Due Wednesday before Midnight

      Please zip your OCD and prototype code in ONE zip file (no rar or tar or ...) and upload.
      Note: there is a 25 MB limit for uploads so you will have to clean your projects before zipping.
    • Project #2, Project #2 Helper Code
      Lexical Analyzer Implementation
    • Visual Studio Help Slides, Package notes
    • QA Threads:
      We will be using piazza.com to host Question and Answer threads. This will work to give quick answers to fairly short questions.
      It will not work to discuss complex questions about your coding problems or debugging.
      For that you will still need to see the TAs or come to the help sessions on Fridays.
  5. Introduction to C#

    Tutorials:

    Presentations:

    Diagrams that Illustrate Key Ideas:

  6. Code examples:

    Some of these examples should be directly relevant to Project #2:

  7. Components:

    Another way of structuring code:

  8. XML:

  9. Lecture Take-away

    The most important things we discussed today are: Next time we will continue with more code examples. Please look at and bring printouts of:
    Passing value and refence types by value and ref, Parameter Passing
    These four cases all have different semantics.

    Demo Command Line and File Handling
    Using command line arguments to find and open files.

    Delegate Structure, Delegates Demos, Recent additions to C# - delegate shortcuts, lambdas, ...
    Delegates support the publish/subscribe idiom and provide major support for .Net's event model.