C# Programming Course Page

 

 

Lectures: Ryerson 251 Monday & Wednesday 5-6pm
Tutorials: Tuesday 6-8pm in Eckhart 20 (Computer Lab)

 

Lecturer:Niels O. Nygaard niels@math.uchicago.edu

TA:Chris Merrill cmerrill@math.uchicago.edu

 


 

Lecture 1, Sep. 24, 2007

 

Setting up the Visual Studio environment.

Some very simple code illustrating how to write a sentence to the console.

 

Slide presentation

Video Presentation

 

 

 


 

 

Lecture 2, Sep. 26, 2007

 

Classes and Objects

The C# version of HelloWorld

 

Slide presentation

Video Presentation

 

 

 


 

Lecture 3, Oct. 1, 2007

 

The CurrencyConverter console application

 

Slide presentation

Video Presentation

 


 

Lecture 4, Oct. 3, 2007

 

An OO version of the CurrencyConverter program

 

Slide presentation

Video Presentation

 


 

Lecture 5, Oct. 8, 2007

 

More OO designs in the CurrencyConverter program

 

Slide presentation

Video Presentation

 


 

Lecture 6, Oct. 10, 2007

 

Windows interface for the CurrencyConverter program

 

Slide presentation

Video Presentation

 


 

Lecture 7, Oct. 15, 2007

 

Web based CurrencyConverter program

 

Slide presentation

Video Presentation

 


 

Lecture 8, Oct. 17, 2007

 

Connecting the Currency Converter to a Database

 

Slide presentation

Video Presentation

 


 

 

Lecture 9, Oct. 22, 2007

 

In today’s class we will go over last week’s projects

 


 

Lecture 10, Oct. 24, 2007

 

A Monte Carlo Option Pricer

 

Slide presentation

Video Presentation

 


 

Lecture 11, Oct. 29, 2007

 

Graphing the output with MATLAB and using external applications via the COM interface

 

Slide presentation

Video Presentation

 


 

Lecture 12, Nov. 5, 2007

 

Pricing different kinds of options

 

Slide presentation

Video Presentation

 


 

Lecture 13, Nov. 7, 2007

 

Using delegates to select the PayOff function

 

Slide presentation

Video Presentation

 


 

Lecture 14, Nov. 12, 2007

 

We will go over the midterm and start talking about how to make our OptionPricer more Object Oriented

 

Slide presentation

Source Code

 

 

 


 

Lecture 15, Nov. 14, 2007

 

More about making the  OptionPricer more Object Oriented. The VanillaOption class

 

Video presentation 1

Video presentation 2

 

Source Code

 

 

 


 

Lecture 16, Nov. 15, 2007

 

The VanillaOption class, implied volatility

 

Slide presentation

Source Code

 


 

Lecture 17, Nov. 19, 2007

 

 

Video Presentation

 


 

Lecture 18, Nov. 26, 2007

 

Binomial Trees

 

Slide presentation

Source Code

Video Presentation

 


 

 

Lecture 19, Nov. 28, 2007

 

Generics

 

Slide presentation

Video Presentation

 


 

Lecture 20, Jan. 7, 2008

 

Building an Assembly

 

Slide presentation

Source Code

Video Presentation


 

 

Lecture 21, Jan. 9, 2008

 

Excel interface to the OptionPricer

 

Slide presentation

Down load project

Video Presentation


 

Lecture 22, Jan. 14, 2008

 

Creating graphs in Excel

 

Slide presentation

Video Presentation

 


 

Lecture 24, Jan. 23, 2008

 

Modelling the trading game

 

Slide presentation

Video Presentation

 


 

Lecture 25, Jan. 28, 2008

 

AJAX Control Toolkit, Application and Session Objects, TabContainer, UpdatePanel

 

Slide presentation

 

Videos:

Installing AJAX Control Toolkit
First Steps
Tabs and UpdatePanel

Video Presentation

 


 

 

Lecture 26, Jan. 30, 2008

 

Connecting to the Database

 

Video

Video of Class Presentation

 


 

 

Lecture 27, Feb. 4, 2008

 

Trading Interface Design

 

Video

 

 


 

Lecture 28, Feb. 11, 2008

 

UpdatePanel, GridView, Timers

 

Video Presentation

Video of Class Presentation

 

Homework: Progress Reports from all teams due Monday Feb. 18.

 


 

Lecture 29, Feb. 13, 2008

 

Client Side Programming, JavaScript, Web Services and Web Methods

 

Project zipped
Source Files for the FirstSteps Project

Video of Class Presentation


 

Lecture 30, Feb. 18, 2008

 

Presentation from some of the teams, JavaScript, Web Services and Web Methods

 

Slide Presentation

Video of Class Presentations

 


 

Lecture 31, Feb. 20, 2008

 

Group Presentations

 

Video of Class Presentations

 


 

Lecture 32, Feb. 25, 2008

 

Group Presentations

 

Video of Class Presentations

 


 

Lecture 33, Feb. 27, 2008

 

Group Presentations

 

Video of Class Presentations

 

 

 

 

 

 


 

Lecture 34, Mar. 3, 2008

 

How to build a custom control and link it to a database

 

Project
Video

 

Video of Class Presentations


 

Lecture 35, Mar. 5, 2008

 

Group Presentations

 

Video of Class Presentations

 


 

 

Lecture 36, Mar. 10, 2008

 

Putting the Application together

Video of Class Presentations


 

 

Lecture 37, Mar. 12, 2008

 

Putting the Application together

Video of Class Presentations

 

 

 


 

Trading Game Project

 

Code Files so far

 

This version has most features working
We still need the Game class and the OrderMatcher

Prelimenary Version of OrderMatcher

We still need Game class and Card Dealer

 


 

Lecture 38, Mar. 31, 2008

 

Installing QuantLib

Video Presentation

Class Video

 

 

 


 

Lecture 39, Apr. 2, 2008

 

First program using QuantLib

 

Slides

Class Video

 


 

 

Lecture 40, Apr. 7, 2008

 

Pricing Asian Options with QuantLib

 

Slides
Source Code

Class Video

 


 

Lecture 41, Apr. 9, 2008

 

 

Pricing an Arithmetic Average Asian Option

Class Video

 


 

Lecture 42, Apr. 14, 2008

 

QuantLib and C#, SWIG

Class Video

 


 

Lecture 43, Apr. 16, 2008

 

More on SWIG, replace the file options.i in the QuantLib_SWIG\SWIG with the enclosed options.i file

 

options.i interface file

Class Video

 

 


 

Lecture 44, Apr. 21, 2008

 

Adding our own arithmetic average pricing engine to the NQuantLib Assembly.

Replace the file options.i in the QuantLib_SWIG\SWIG with the enclosed options.i file and make sure that the files

analytic_cont_arith_av_price.hpp and analytic_cont_arithm_av_price.cpp are in the QuantLib-SWIG-0.9.0\QuantLib-SWIG-0.9.0\CSharp\cpp folder

 

Code

Class Video


 

Lecture 45, Apr. 23, 2008

 

Class Video

 

 

 


 

Lecture 46, May 5, 2008

 

Compound Options

 

Slides

 

Class Video

 


 

Lecture 47, May 12, 2008

 

Pricing a Compound Option

 

Code

Class Video


 

Lecture 48, May 14, 2008

 

Monte Carlo Pricing of Compound Options

 

Slides

Class Video

 


 

Lecture 49, May 19, 2008

 

Writing a Monte Carlo Pricing engine for Compound Options

Class Video