Welcome to the course!

Current Lecture:

Lecture 1 - Intro to the course
Lecture 2 - C++ Basics
Lecture 3 - C++ Flow Structures 

C++ Videos

Precedence & Arthimetic - P1
Precedence & Arthimetic - P2
New features for C++ - Bjarne Stroustrup
 

Lecture Samples:

Lecture 3 Samples - Structures
Order of Samples

  1. coercion.cpp - Demonstrates arthimetic in c++ of operands of different data types
  2. coercion2.cpp - Demonstrates promotion and demotion of data in c++
  3. enumerations.cpp - Shows an example of enumerations (optional)
  4. enumerations2.cpp - Fixes the issues of enumerations.cpp
  5. ifExpressions.cpp - How not to write compound if expressions and what happens if you do
  6. truthTables.cpp - Shows truth tables using logical OR and the logical AND
  7. boolValues.cpp - shows the integral bool data type and how if expressions are evaluated
  8. scope.cpp - shows variable scope
  9. switch.cpp - shows the structure of a switch statement
  10. switch2.cpp - shows a broken switch statement and what happens if you leave the break statement out.
  11. switch3.cpp - uses code from enumerations2.cpp and replaces the if statements with switch statements
  12. incrementOp.cpp - demonstrates the pre and post-increment operators
  13. incrementDecrement.cpp - demonstrates pre/post increment and decrement
  14. forLoop.cpp - simple example of a for loop
  15. forNested.cpp - demonstrates nested for structures also the use of continue and break keywords
  16. nestedAgain.cpp - another example of a nested for loop
  17. forOmit.cpp - demonstrates omission of the parts of a for statement

Quiz 1 Grades posted
Checking Grades Online

Scott Edward's Nano Tutorial

Assignments

Assignments will be placed on the fccsci.fullcoll.edu server. You will need to print each assignment out and submit at the beginning of class on the assignment's due date
  • Putty.exe (Right-click on the file and select Save-As to your hard drive) - Putty allows you to make secure connections to the server. This will allow you to run programs on the server, compile your code and execute it.
  • PSFTP.exe (Right-click on the file and select Save-As to your hard drive) - This allows you to send files from your computer to the server and vice versa.
  • Nano Editor Info - the text editor you will be using
Instructor: Brad Rippe
Office: T7B
Office Hours: 9-5pm, M-F (best to email or call first)
Course Room: 623
Course Lab: Located in the LLRC, math lab
Course Site: http://staffwww.fullcoll.edu/brippe/csci123
Email: brippe@fullcoll.edu
(Put CSCI123 in the subject line)
Course Hours: 4:00 - 5:50PM Monday & Wednesday
Course Dates: 8/18 - 12/18

Course Text:

Introduction to Programming Concepts in C++ by Walter Savitch

Problem Solving with C++, 7th Edition
By:  Walter Savitch
Publisher: Addison-Wesley
Copyright: 2009
Format: Paper; 1013 pp
ISBN-10: 0321531345
ISBN-13: 9780321531346

Checking Grades Online


Using a Mac

The Mac comes with developer tools that include the GCC g++ compiler, it also has an IDE, Xcode, that is included in the developer tools.

How do I rock with C++ PDF

I found this book simple and helpful
C++ in a Nutshell - Ray Lischner
Employ C Runtime Secure Functions
C++ API Reference
Header Files and Standard Functions

What are  programmers creating with C++ and why is it soooo cool?
Here's a list of a few applications that were created with C++. More than likely, you're viewing this site with software that was developed with C++
.

So you want to become a Programmer
Creating Console Applications (PDF)

Some College Advice

Recently I was asked about some college advice. Not wanting to steer a student in the wrong direction, I simply gave them some general information. Then a few days later I came across this article and thought I might share it with you, College Advice by Joel on Software.I thought he gave some good perspective on things to keep in mind.

Sun Microsystems Student Developer Information

FAQs - from the last few weeks

  1. Do you give extra credit?
    Definitely not! If you've been working all semester you should be just fine. I don't feel it is fair to give extra credit, because I usually get a few students that complete all the work and it above average. Thus, I don't feel it is fair to give extra credit.
  2. Do I need a book?
    Yes. I can't stress how important the textbook is to your learning. You will need clarification on topics and additional samples. The text provides valuable information that will help you be successful in the course. You don't have to purchase the exact edition, or buy a brand new book, just have a copy of the book. However, some version of the textbook will be essential to your learning.
  3. How much work is this course going to require?
    I'm going to assume that you've signed up for this course ready to work. Check the schedule for quizzes. Assignments will require work and the programming projects even more work. I will assume that you're going to spend hours on them.
  4. How much homework are we going to get?
    After each topic I will assign homework for that topic. The schedule is tentative and will be changed based on how fast the course is moving. I have certain topics that I must cover and others that may change as the course moves forward.
  5. What about quizzes?
    There are 8 quizzes on different topics we cover in class. Though only 5% of your grade, this could be the difference between an A and a B or a B an a C.
  6. Is the course hard?
    I can't answer this with a definitive answer. This is dependent on your programming experience (none required) and how fast you pick up the material. Some pick up the material fast, others not so fast. This is ok, we are human and these differences are fine, as long as you're working and writing C++ code, hopefully it will sink in after working with the language.
  7. If I've never programmed before, can I take this course?
    YES. This is the course for you, hence the "Introduction" in the course title. You will be required to work. So prepare yourself and you'll do fine.
  8. What compiler can I use?
    You can you any compiler as long as you write your code to the ANSI standard. In other words, if you compile with Visual Studio, your code must compile with g++ and vice versa.
    Some students used Dev-C++ last semester, which seemed to have some bugs with detecting all of the compilation errors. So if your using Dev-C++, it is up to you to futher examine your code for errors.

  9. What editor can I use?
    This will depend on your development environment. Last semester my students used nano or vim. If you are using Visual Studio, the editor is part of the IDE. If you use g++, there are a number of editors that you can use: vi, vim, nano, pico, emacs. For the Mac OS X, you can use Xcode.
  10. I don't understand an assignment, what do I do?
    ASK. I have students who don't understand what the requirements are for an assignment or what is expected. If you fall into this situation, ask me. This helps me, you, and your fellow classmates. I almost expect you to ask.
  11. What Development Environment do I need for class?
    Last semester we used g++ with a text editor. The labs have Visual Studio installed. If you would like a copy you can download a free version for windows. If you are using a mac you can use g++ from the command line or Xcode. Visual Studio 2005 Express Edition. You may use this application you'll use to write, compile and run your C++ code.

This course is an introduction to the basic principles of programming using a structured programming language, C/C++. Students will design algorithms, write external documentation, design and write source code in C/C++, and write internal documentation for programming problems.

Prequisites:

Math 142 (Trigonometry) or three years of high school mathematics including trigonometry with grades of "C" or better.

Other Requirements:

  • one additional lab hour per week (to be arranged)

Ever wonder what modules your .NET exe is dependant upon, check out Dependancy Walker. It shows what functions calls are coming from other modules. This if an exe doesn't work on a particular machine you can see if you are missing a dependant dll, ocx, exe, etc.

Want to run Linux OS?
VMWare Player - this is the software I used to run linux on top of Windows.
Ubuntu Virtual Machine - the ubuntu vm to play in the vmware player.

Linux comes in different forms or packages known as distributions here is the one I showed in class, Ubuntu. (Linux will not be on any test or quiz, this is simply for you're own knowledge). Our CS Lab runs Debian.

Had enough of Office 200X? Try open office for free!

OpenOffice.org is a complete Microsoft Office compatible office suite, and is the leading open-source office suite for word processing, spreadsheets, presentations, graphics, databases and more.

C++ Games

1945 Fighter Game (This cool game was developed by a student from my Spring Semester Course)

GUI Tutorials - Not Part of the course
Creating Windows Forms (for those that want a to write GUIs)
wxWidgets (Hello World) Tutorial
Cool GUI Library - Juce