Changes

Jump to: navigation, search

BTP300

3,399 bytes added, 21:31, 5 December 2013
no edit summary
<!-- {{BTP300 Index | 20113}}-->
'''Please help make this page resourceful for all BTP300 students to use! (Dr. Chris Szalwinski, Fall 2012)'''
== Object-Oriented Software Development I - C++ ==
*This course continues the study of object-oriented programming, which started with BTP200. This course It covers the details of the C++ language at the intermediate level.
=== Subject *'''Course Description and Course Outcome ===Learning Outcomes'''** [https://scs.senecac.on.ca/course/btp300 BTP300]=== *'''External Links ===''' ** [https://cs.senecac.on.ca/~btp300/pages/content/index.html Course Web Site – Lecture Notes]** [https://cs.senecac.on.ca/~btp300/pages/timeline.html Course Web Site – Timeline]*'''Instructor:''' Dr. Peter Liu (Fall 2012)
== Wiki-based Learning ==
*'''Purpose''' <br>
**Collaboration is a growing trend in today's practice of software development. You may visit Wikipedia to read about [http://en.wikipedia.org/wiki/Ward_Cunningham Ward Cunningham] and collaboration in [http://en.wikipedia.org/wiki/Extreme_programming agile software development]. IBM has developed a wiki-based product for [http://www.itworldcanada.com/a/IT-Workplace/16508059-35d0-424f-a3b2-4d5e17840058.html 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 [http://zenit.senecac.on.ca/wiki/index.php/OSD600_Fall_2008 OSD600] or [http://zenit.senecac.on.ca/wiki/index.php/DPS909_Fall_2008 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'''<br>
**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.
=== Purpose =[[BTP300 To-Do List Fall 2012 | Weekly To-Do List]] ==* Week 3 (Fall 2013)**'''THEME OF THIS WEEK: SENECA IS COOL AND THE POSSIBILITIES ARE ENDLESS! (posted by the newly famous Jodie Carleton)'''*Week 11? (Fall 2013)
Collaboration is a growing trend in today*'''Check out this Link for some help on Linked Lists! '''s practice of software development.You may visit Wikipedia to read about (posted by Jake Deacon) [http://enwww.wikipediacodeplaza.org/wiki2013/Ward_Cunningham Ward Cunningham] and collaboration in [http:11//enunsorted-linear-linked-list-c-program.wikipedia.org/wiki/Extreme_programming agile software developmenthtml Linked Lists 1]. IBM has developed a wiki-based product for [http://www.itworldcanadacodeplaza.comorg/a2013/IT-Workplace11/16508059linked-35d0list-424foperations-a3b2c-4d5e17840058program.html corporate learningLinked Lists 2]* [[Practice for Test 1 (Fall 2013) |Practice for Test 1]. During this semester, you will use ]* [[Practice for Test 2 (Fall 2013) |Practice for Test 2]]* [[Preparation for Final Exam (Fall 2013) | Preparation for Final Exam]]** [[More Practice Problems (Fall 2013) | More Practice Problems (requested by a wiki to learn how to few students)]]* '''collaborate[[Looking into the Future - Parallel Programming]]'''* ' 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 ''[[Looking into the role of an observer and a facilitator.Future - Big Data Analytics]]'''
=== Benefits =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 [http://www.eclipse.org/forums/index.php/f/89/ 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) ]] ===* You will be better prepared to enter the IT workforce and pursue courses on open source software development such as [http://zenit.senecac.on.ca/wiki/index.php/OSD600_Fall_2008 OSD600[BTP300 Teams Fall 2012 | Teams Fall 2012] or [http://zenit.senecac.on.ca/wiki/index.php/DPS909_Fall_2008 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.=== [[ BTP300A A2 Teams Fall 2013 ]] ====== [[ BTP300B A2 Teams Fall 2013 ]] ===
=== [[ BTP300 Practical Tips 2013 | Practical Guidelines of Community Practice (Fall 2013) ]] ===* [[BTP300 Practical Tips 2012 | Practical Guidelines Fall 2012]]
The key ingredient in fostering a spirit of collaboration is that everyone is a=== [[ Assignment 1 (Fall 2013) Q & A ]] ===CONTRIBUTOR to the learning community. We will respect each other and interact witheach other in a professional way. You will discover your ''artistic potentials'' when youuse your favorite formats and styles in creating wiki pages.*[[Assignment 1: Q & A | archive (Fall 2012)]]
== The Course Project = [[ Assignment 2 (Fall 2013) Q & A]] ===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 * '''Evaluation Scheme of Assignment 2''' [httphttps://wwwscs.senecac.eclipseon.org/forumsca/index~peter.phpliu/fbtp300/89/ Eclipse Community ForumsEvaluationScheme_A2_F2013.doc]* [[Assignment_2_(Fall_2013)_Q_%26_A| How to setup SVN ]]* [[SVN Branches for Assignment 2]] and see how Eclipse developers and users conduct Q & A. Note: DO NOT POST (Alek)* Merging From Your Branch Into the Trunk**'''general[[Media:SVN_Merge.pdf|Step by Step Instructions ]] (Alek)''' C++/C programming questions here* [[Assignment 2 (Release 0.1): Q & A | archive - A2 R0.1 (Fall 2012)]] * [[Assignment 2 (Release 0.2): Q & A | archive - A2 R0.2 (Fall 2012)]]* [[Assignment 2 (Release 0.3): Q & A | archive - A2 R0.3 (Fall 2012)]]
=== [[BTP300 Teams Assignment 3i (Fall 2012 | Teams2013) Q & A]] ===*[[Assignment 3i: Q & A | archive (Fall 2012)]]
=== [[BTP300 Practical Tips 2012 | Practical Tips]]
=== [[Assignment 1: Midterms Q & A ]] ====== *[[Assignment 2 (Release 0.Test 1): Q & A]] ====== [[Assignment 2 (Release 0.2): Q & A]] ====== [[Assignment 2 (Release 0.3): Q & A]] ====== [[Assignment 3: Q & A]] ====== [[Assignment 4: Q & A]] ===
== Learning C++/C Programming ==
You may develop your '''research skills''' by creating useful topics and contents here.
* Iterators in C++ [http://www.oreillynet.com/pub/a/network/2005/10/18/what-is-iterator-in-c-plus-plus.html]
* [[Virtual Methods and Inheritance | Virtual Destructors and Inheritance]]
* [[C++/C Q & A on stackoverlfow]]
* [[C/C++ FAQ]]
* C++ Documentation [http://www.cplusplus.com/]
*How does the compilation, linking process work?[http://stackoverflow.com/questions/6264249/how-does-the-compilation-linking-process-work]
* 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 [http://www.codeblocks.org/] (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? [http://stackoverflow.com/questions/2615203/is-sizeof-in-c-evaluated-at-compilation-time-or-run-time]
 
* ptrdiff_t is supposed to be used when doing '''pointer subtraction'''. But in this example,(demo program "pointerSubtraction.cpp" on matrix.senecac.on.ca) an int will work just fine storing the subtraction result. Reason:[http://www.cplusplus.com/reference/cstddef/ptrdiff_t/] (Yiqi Liu)
 
* The Function Pointer Tutorials [http://www.newty.de/fpt/]
* Function pointer (Wikipedia) [http://en.wikipedia.org/wiki/Function_pointer]
* C++ Vector class template [http://www.cplusplus.com/reference/vector/vector/]
* C++ List class template (examples) [http://cs.smu.ca/~porter/csc/ref/stl/cont_list.html#sample_programs ]
 
== Workshops Q & A ==
*[[Workshop 1]]
 
*[[Workshop 2]]
 
*[[Workshop 5]]
== Resources ==
* [http://tortoisesvn.net/downloads Download Page of TortoiseSVN]
* [http://tortoisesvn.net/docs/release/TortoiseSVN_en/index.html TortoiseSVN Documentation]
* [http://svnbook.red-bean.com/ SVN book at red-bean.com] or download[https://cs.senecac.on.ca/~fardad.soleimanloo/oop344/notes/svn-book.pdf the PDF from here].
<!--
* [http://zenit.senecac.on.ca/wiki/index.php/OOP344_Student_Resources#The_Basics_of_IRC IRC Basics]
* [http://irchelp.org/irchelp/irctutorial.html IRC Tutorial]
* [http://ankhsvn.open.collab.net/ AnkhSVN - Free Visual Studio SVN Integration Alternative To VisualSVN]
 
== Archives ==
[[BTP300 Fall 2011]]
1
edit

Navigation menu