BTP300
Please help make this page resourceful for all BTP300 students to use! (Dr. Chris Szalwinski, Fall 2012)
Contents
Object-Oriented Software Development I - C++
This course continues the study of object-oriented programming, which started with BTP200. It covers the details of the C++ language at the intermediate level.
- Course Description and Learning Outcomes
- External Links
- Instructor: Dr. Peter Liu (Fall 2012)
Wiki-based Learning
- Purpose
- Collaboration is a growing trend in today's practice of software development. You may visit Wikipedia to read about Ward Cunningham and collaboration in agile software development. IBM has developed a wiki-based product for corporate learning. During this semester, you will use a wiki to learn how to collaborate with your fellow classmates when you are building up your C++ programming skills in this course. The students will take an active role in creating useful contents. The professor will play the role of an observer and a facilitator.
- Benefits
- You will be better prepared to enter the IT workforce and pursue courses on open source software development such as OSD600 or DPS908.
- You are expected to use this wiki when you start working on the course project as a team. In order to develop professional presentation skills, please pay attention to clarity of expression and spelling errors.
- Guidelines of Community Practice
- The key element in fostering a spirit of collaboration is that everyone is a contributor to the learning community. We will respect each other and interact with each other in a professional way. You will discover your artistic potentials when you use your favorite formats and styles in creating wiki pages.
Weekly To-Do List
The Course Project
When you work on the BTP300 assignments, you will tackle complex programming problems under demanding due dates. You can support each other by posting your questions, answers and comments on the following links. You should try your best to resolve a programming issue within your team first before you post it up here. Please do your own homework before you ask for help or clarification. Take a look at Eclipse Community Forums and see how Eclipse developers and users conduct Q & A. Note: DO NOT POST general C++/C programming questions here.
BTP300A Teams (Fall 2013)
BTP300B Teams (Fall 2013)
Practical Guidelines (Fall 2013)
Assignment 1 (Fall 2013) Q & A
Assignment 2 (Fall 2013) Q & A
Assignment 3i (Fall 2013) Q & A
Learning C++/C Programming
You may develop your research skills by creating useful topics and contents here.
- Iterators in C++ [1]
- Virtual Destructors and Inheritance
- C++/C Q & A on stackoverlfow
- C/C++ FAQ
- C++ Documentation [2]
- How does the compilation, linking process work?[3]
- Visual C++, Borland C++, and other compilers in one IDE
- If you like to test compiling your codes with different compilers but don't border to install and run them individually, some IDEs are quite handy. E.g. Code::Blocks [4] (Other IDEs many also have this function). You can choose a specific compiler for each build in the IDE itself.
- Is sizeof in C++ evaluated at compilation time or run time? [5]
- ptrdiff_t is supposed to be used when doing pointer subtraction. But in this example,(class demo program "pointerSubtraction.cpp" on matrix.senecac.on.ca) an int will work just fine storing the subtraction result. Reason:[6]
Workshops Q & A
Resources
- How To edit Wiki pages
- How To edit Wiki Cheatsheet
- Subversion (SVN)
- Download Page of TortoiseSVN
- TortoiseSVN Documentation
- SVN book at red-bean.com or download the PDF from here.
- IRC Tutorial
- AnkhSVN - Free Visual Studio SVN Integration Alternative To VisualSVN