Quantitative Finance Workshop: Introduction to C++

Last Updated: 8/15/2008 8:36PM
Time9:00 - 17:00, August 11 - 15, 2008
VenueSimulated Trading Room
InstructorShih-Fen Cheng (sfcheng@smu.edu.sg)
Office: SIS 4031, Tel: 6828-0526
Teaching AssistantNGUYEN Thi Duong (thiduongn.2005@sis.smu.edu.sg)
SyllabusDownload PDF

Course Summary

The purpose of this workshop is to teach you the basics of programming in C++. Upon completing this workshop, participants will be able to write moderately complex object-oriented C++ programs, understand the basics of object orientation, and know the core C++ standard library. Another goal is to teach participants how to become a better software developer and write higher-quality code.

Focus areas:

Operating System and Development Environments

A C++ development environment is required for the workshop. It is recommended that students use Microsoft Visual C++ 2008 Express Edition since the instructor will use this tool for his in-class C++ examples. It can be freely downloaded from Microsoft (http://msdn.microsof t.com/vstudio/express/downloads/).

To reduce setup time, it is strongly recommended that you bring your own laptop with C++ environment pre-installed on it. This is very important as you will be required to perform in- class coding exercises every afternoon.

Lectures

The following schedule and topics may change based on the experience of the class. We have very limited time, so I will pack a lot into each lecture and lab. I will notify you any major changes in the schedule during the course of the workshop.

Assignments & Projects

Please submit exercises and project handed out in-class everyday to the instructor by email before 9AM next day (e.g., for exercises and project handed out on Monday, submit them before 9AM on Tuesday). You performances on these submissions constitute your participation credit..

When submitting exercises and project, using the following naming rule:

<your email uniquename>_<which day>_<ex or prj>.zip

For example, if I am submitting second day's exercises and project, the file name will be 'sfcheng_2_ex.zip' and 'sfcheng_2_prj.zip' respectively.

Related Class

IS418: Intelligent Agent Design & Applications will be offered in 2008/09 Term 1, and I will be introducing Artificial Intelligence (AI), an emerging technology that is becoming more and more popular with financial firms.

Resources


Workshop Schedule

Day 1 - August 11, 2008

SessionTopicMaterial
9:00-10:30Course Overview and Introduction
The Foundations of C++
Software Development Process/Tools

1.1
1.2
10:30-10:45Break
10:45-12:30Getting Started with C++, Part 1 1.3
12:30-1:30Lunch
1:30-3:00Getting Started with C++, Part 1
Programming Exercises

day1_ex.zip
3:00-3:15Break
3:15-5:00Programming Exercises
Programming Project 1

day1_prj.zip
Supplementary Materials
-Example codes used in lecturesday1_lecture.zip
-Precedence relation tablePrecedence.pdf
-Project 1 Solutionday1_prj_sol.cpp

Day 2 - August 12, 2008

SessionTopicMaterial
9:00-10:30Day 1 Exercises and Project Solutions
Getting Started with C++, Part 2

2.1
10:30-10:45Break
10:45-12:30Additional Notes on Variables and Data Types2.2
12:30-1:30Lunch
1:30-3:00Programming Exercisesday2_ex.zip
3:00-3:15Break
3:15-5:00Programming Exercises-
Supplementary Materials
-Example codes used in lecturesday2_lecture.zip

Day 3 - August 13, 2008

SessionTopicMaterial
9:00-10:30Day 2 Exercises Solutions
The Motivation for an OOP Paradigm
-
3.1
10:30-10:45Break
10:45-12:30Object-Oriented Programming Primer3.2
12:30-1:30Lunch
1:30-3:00OOP Examples3.3
3:00-3:15Break
3:15-5:00Programming Exercises
Programming Project 3
day3_ex.zip
day3_prj.zip
Supplementary Materials

Day 4 - August 14, 2008

SessionTopicMaterial
9:00-10:30Day 3 Exercises and Project Solutions
More OOP Examples
-
10:30-10:45Break
10:45-12:30Debugging C++ Programs
Coding Techniques
4.1
4.2
12:30-1:30Lunch
1:30-3:00Programming Project 4day4_prj_1.txt
day4_prj_2.txt
3:00-3:15Break
3:15-5:00Programming Project 4-
Supplementary Materials
-Example codes used in lecturesday4_lecture.zip

Day 5 - August 15, 2008

SessionTopicMaterial
9:00-10:30Day 4 Exercises and Project Solutions-
10:30-10:45Break
10:45-12:30An Introduction to the STL5.1
12:30-1:30Lunch
1:30-3:00Workshop Wrap-up5.2
3:00-3:15Break
3:15-5:00Programming Exercisesday5_ex.txt
Supplementary Materials
-Example codes used in lecturesday5_lecture.zip
--toUpper.cpp