Changes

Jump to: navigation, search

OOP344 Student Resources

7,661 bytes added, 15:53, 7 March 2014
Updated index
{{OOP344 Index Extended | 2010320141}}
===Quick Link===
*[[Tortoise in 5]] -*[[Linked List]]
<br />
== Webpages (Useful links)==
*https://csscs.senecac.on.ca/~btp300 <-- the degree version of oop344. Good for an indepth look at the material. Includes Workshops and Walkthroughs*https://cs.senecac.on.ca/~fardad.soleimanloo/oop344/notes/ <-- Notes only up to Oct 28, 2009. Includes past tests*svn://zenit.senecac.on.ca/oop344 <-- Up to Date Notes shown in all lectures*[http://zenit.senecac.on.ca/wiki/index.php/How_to_set_up_tab_spaces Changing Tab Key Behaviour in Certain IDEs]*[http://www.projecteuler.net Project Euler] - great site to test your skills and keep them sharp!
https://cs.senecac.on.ca/~fardad.soleimanloo/oop344/notes/ <-- Notes only up to Oct 28, 2009. Includes past tests== GIT ==[[GIT for OOP344 Projects]]
svn://zenit.senecac.on.ca/oop344 <-- Up to Date Notes shown in all lectures
== SVN ==[http://lmgtfy.com/?q=what+is+svn What is SVN?] Subversion or SVN * This is a control system where it allows you to properly organize and manage files and directories and by far the changes to them over time. SVN allows you to recover older versions of your databest tutorial for Github, or examine actually the history of how your data changed. In this regard, many people think of a version control system as a sort of “time machine”best tutorial ever! Check it out. [(http://svnbookpcottle.red-beangithub.com/enlearnGitBranching/1.4/svn.intro.whatis.html]=== TortoiseSVN in 5 easy steps ===[[Tortoise in 5]] <br />This page is dedicated to those poor souls that have to use SVN but don't have time to read through chapter upon chapter about it just to be able to participate in assignment 2. === RabbitVCS ===[[RabbitVCS]] <br />RabbitVCS is a Linux alternative to TortoiseSVN. This page will help describe how to install and use RabbitVCS.) -Mohammed Al Zubair
== Creating Projects in Visual Studio for Console Applications ==
In "Solution Explorer", add new item to Header Files or Source Files.
== The Basics of IRC ==
=== The Basics of IRC ===IRC is also known as Internet Relay Chat. The principal of it is essentially to provide accessible chat rooms for people over the internet over multiple operating systems. To be able to connect and interact with IRC, one must first have an IRC client of some sort.
To be able to connect and interact with ===IRC, one must first have an Clients===There is a wide variety of different IRC client clients on all platforms. Here is a list of some sort.just a few:Two of the most common are * [https://addons.mozilla.org/en-US/firefox/addon/16 Chatzilla] (Add-on forFirefox), and * [http://www.mirc.com/ mIRC](Windows)* [http://www.hydrairc.com/ HydraIRC] (Windows)* [http://colloquy.info/ Colloquy] (MacOS)* [http://www.aquaticx.com/ xIRC] (MacOS)* [http://www.babbelirc.com/ Babbel] (Windows/MacOS)* [http://xchat.org/ XChat] (Windows/Linux)* [http://www.irssi.org/ irssi] (Windows/MacOS/Linux)* [http://webchat.freenode.net/ Freenode] (Windows/MacOS/Linux (Web Based IRC)* [http://www.hexchat.org/ HexChat] (Windows)
Once installed and running, you will have such options as connecting to various servers. We're particularly interested in the one which the seneca chatroom is located.
</ol>
<br />
 
===How To Identify on IRC Automatically via mIRC (and Join #Seneca-OOP344 Channel)===
If you are using mIRC to connect to IRC and wish to automatically identify your nickname after its been registered so you do not have to type it out every time you connect to Freenode do the following:
 
#. In the mIRC GUI, go to Tools > Script Editor
#. Click on the Remote tab
#. Add the following code to the page and click OK. (Remember to replace your PASSWORD with your password you set when you registered)
<br />
<pre>
ON 1:NOTICE:*registered*identify*:?:{
/msg nickserv identify PASSWORD
/join #seneca-oop344
}
</pre>
 
=== How To Identify on IRC Automatically via XChat (linux) and Join #Seneca-OOP344 Channel) ===
If you are using linux, the best IRC client I can find is xchat, but identiy and join every time you log in became a hassle, here is the fix:
 
# Click on the xchat option on the menu bar > Server list (ctrl+s)
# Type in your nickname, registered ID and information on freenode
# In Networks, scroll down and select freenode
# On the right side, click on "edit"
# Under connecting, check the option "auto connect to this network at startup"
# Type your password in "Nickserv password"
# close the window and click "connect"
 
=== Some IRC short cuts for xchat ===
If you use xchat these short cuts will save you from having to type a lot.
 
# /ns identify "password" = /msg nickserv identify "password"
# /id "password" = /msg nickserv identify "password"
# /j "channel name" = /join "channel name"
# /cs = /msg chanserv
 
=== Hiding or Cloaking your IP Address ===
 
One of the ways is to simply send an email to support@freenode.net with a request to hide your IP Address. Make sure to provide your registered nickname on the freenode IRC server. Your will get a reply in couple of days, so be patient.
Another way, is to join #freenode chat and try to contact a chat moderator there.
 
=== Useful Links ===
* [http://freenode.net/faq.shtml Freenode FAQ]
 
== Online C++ tutorials ==
[http://www.parashift.com/c++-faq-lite/ FAQs (Really great site)]<br />
[http://www.functionx.com/cpp/ C++ tutorial site1]<br />
[http://www.cplusplus.com/doc/tutorial/ C++ tutorial site2]<br />
[http://www.learncpp.com/ C++ tutorial site3]<br />
[http://www.cprogramming.com/tutorial.html C/C++ tutorial site]<br />
 
*[http://www.eskimo.com/~scs/cclass/int/sx11c.html Variadic Function help]
*[http://www.programr.com/zone/cpp C++ Tutorials and Exercises]
== Linked List Explained ==
* [[q2 A binary file question]] - [[q2sol the solution]]
* [[walk1 a walkthrough with templates]] - [[walk1sol the solution]]
 
== C++ Casts Explained By Fardad 14/04/2011 ==
For those that did not attend Thursday's class the week before the exam, Fardad explained how to use C++ casting<br />
that can also be found in OOP244's notes by C++ Wizard Chris Szalwinski.<br />
[https://cs.senecac.on.ca/~oop244/pages/content/ansis.html Chris Szalwinski's OOP244 Notes
 
 
== OS Key-Codes ==
=== Mac OS X ===
* #define '''UP_KEY''' 259
* #define ''' DOWN_KEY''' 258
* #define ''' LEFT_KEY''' 260
* #define ''' RIGHT_KEY''' 261
* #define ''' PGUP_KEY''' 6 ''/* Control + f */''
* #define ''' PGDN_KEY''' 2 ''/* Control + b */''
* #define ''' ENTER_KEY''' 10
* #define ''' TAB_KEY''' 9
* #define ''' BACKSPACE_KEY''' 127
* #define ''' DEL_KEY''' 330 ''/* FN + Delete */''
* #define ''' HOME_KEY''' 1 ''/* Control + a */''
* #define ''' END_KEY''' 5 ''/* Control + e */''
* #define ''' ESCAPE_KEY''' 27
* #define ''' INSERT_KEY''' 16 ''/* Control + p */''
* #define ''' SPACE_KEY''' 32
 
''FN + ALT + Function Keys with Mac Special Function Key Setup''
 
''ALT + Function Keys as Standard Function Keys Setup''
 
* #define ''' F1_KEY''' 270
* #define ''' F2_KEY''' 271
* #define ''' F3_KEY''' 272
* #define ''' F4_KEY''' 273
* #define ''' F5_KEY''' 274
* #define ''' F6_KEY''' 275
* #define ''' F7_KEY''' 276
* #define ''' F8_KEY''' 277
* #define ''' F9_KEY''' 278
* #define ''' F10_KEY''' 279
* #define ''' F11_KEY''' 280
* #define ''' F12_KEY''' 281
== Obsolete Stuff ==
=== SVN ===
<p>[[Development and submission steps using SVN - OOP344 20121]] This is a quick way to get everyone familiar with SVN in a brain friendly manner without the need to sift through pages of unnecessary documentation.</p>
<p>
[http://lmgtfy.com/?q=what+is+svn What is SVN?] Subversion or SVN is a control system where it allows you to properly organize and manage files and directories and the changes to them over time. SVN allows you to recover older versions of your data, or examine the history of how your data changed. In this regard, many people think of a version control system as a sort of “time machine”. [http://svnbook.red-bean.com/en/1.4/svn.intro.whatis.html]
</p>
=== SVN Clients ===
* [[Tortoise in 5]] - This page is dedicated to those poor souls that have to use SVN but don't have time to read through chapter upon chapter about it just to be able to participate in assignment 2.
* [[RabbitVCS]] - RabbitVCS is a Linux alternative to TortoiseSVN. This page will help describe how to install and use RabbitVCS.
* [http://rapidsvn.tigris.org/ RapidSVN] - Another SVN client for Linux - a very simple and straight-forward SVN client.
* [http://www.lachoseinteractive.net/en/community/subversion/svnx/features/?sid=337041a90a9f11841f9f77fda5224723 svnX] - A very competent SVN client for Mac OS X.
 
=== SVN Hosts ===
<p>The best way to learn SVN is to experiment it, we programmers, love to explore. Though Seneca already provides us SVN hosting, there are other free SVN hosting out there that you can use and experiment around (since you might not want to mess around with your team's account if you don't know what you're doing). One of the best SVN hosts out there is probably [http://code.google.com/hosting/ Google Code Hosting] because it has many cool features such as web presentation of [http://code.google.com/p/rainulf/source/browse/trunk/core.php syntax highlighted sources], [http://code.google.com/p/rainulf/source/diff?path=/trunk/core.php&format=side&r=4&old_path=/trunk/core.php&old=3 diff], [http://code.google.com/p/rainulf/w/list wiki] and more (which you can do also within a client program) of sources and it does show what SVNs are truly for: ease.</p>
<p>Here's a few SVN hosts:</p>
* Google Code Hosting - create account [http://code.google.com/hosting/createProject here]
* [http://sourceforge.net/ SourceForge]
* [https://www.bountysource.com/ Bounty Source]
* And [http://lmgtfy.com/?q=svn+hosts more], ranging from free to paid hosting.
NOTE: Seneca already provides us SVN hosting (SVN login and pass), all of our work academic work should be all there.
 
=== Doing a task in SVN ===
Below is a quick guide to follow to complete a task under SVN.
 
 
1. Create subdirectories in "branches" under your Seneca email ID. This is your ROOT.
Repo
|__ Branches
|__ SenecaEmailID
 
 
2. Create a subdirectory under your brach under the task name. (ex. BkSpcBug)
Repo
|__ Branches
|__ SenecaEmailID
|____ BkSpcBug
 
 
3. Update your branch to set the files in (BkSpcBug)
Repo
|__ Branches
|__ SenecaEmailID
|____ BkSpcBug
|_____file1.cpp
|_____file2.cpp
 
4. Start working on (BkSpcBug).
 
5. When complete (Bug Fixed).
 
5.1 Set the trunk status on the team page to: COMITTING by your Seneca ID.
 
5.2 Merge the branch (BkSpcBug) to Trunk.
 
5.2.1 Edit possible conflicts.
 
5.2.2 Set conflicts to resolved.
 
5.3. Recompile the trunk.
 
5.4 Set the trunk status on the team page to: COMITTED by your Seneca ID.

Navigation menu