Chapter 1 and Sections 2.1-2.2 of Problems Solving with C++
I'm just listing the basic topics here rather than giving complete lecture notes. Complete notes will start with the next lecture. Not all of these will discussed in lecture.
1. Parts of a computer: CPU, main memory, persistent storage (hard drive), input (keyboard), output (monitor)
2. Filesystems: Tree structure, programs as files, etc. [It will probably save you many headaches if you go to "Start" -> "Control Panel" -> “Appearance & Personalization” -> "Folder Options" and make sure that under the "View" tab you have "Hide file extensions for known file types" off (i.e. unchecked). When this is on, you won't always see the full name of a file, which can be confusing!]
3. Creating files: quick notepad, side note [It's hard not to create files! Try going to amazon.com, and then check your cookies! It created a file!]
4. Your ultimate goal as a C++ programmer is to create a file - a file that is a program!
5. Internet (Extending your filesystem): Tree structure in the underlying filesystems (go to CS Dept Webpage (http://www.usna.edu/CS/) and work to, for example, the Class 1 page for this course, to demonstrate), but of course we jump around almost randomly using hypertext links. The "web" is sort of like other people letting you look at their filesystems!
6. More internet: with ftp you can read and write to other people's filesystems! What you can't do is run programs on their machine. You'll be using sftp or scp on occasion in this class.
7. You have two accounts associated with being a computer science or IT major. You have a Windows account and a Unix account, and you'll keep these accounts while you're here, using different accounts for different classes and tasks.
8. The department has several online resources for CS majors. Important to you will be
9. General steps to solving a problem. In class we will talk a lot about how to take a general description of a problem and break it down into smaller pieces, until each piece is easy enough to actually do. At a high level, many problems we will work with can be thought of as taking 3 steps:
apply this pattern to solve the following problem: Design a program that will
print the displacement of an object, in a meaningful manner, when the user
provides the acceleration, the time, and the velocity. The necessary
formula is: disp = (velocity * time) + (0.5 * accel * time2). You may test your code by
inputting an acceleration of 0.18 m/s^2, a velocity of 2.50 m/s, and a time of
2.37 s. The answer should be a displacement of 6.430521 m. Note
that in order to test a solution, you must know, typically by computing by
hand, the actual answer for disp that we are
expecting (here, 6.430521) before we run the program so we know whether the
program works correctly for the input data used.
First, let’s design a solution
11. In class we'll bring up the development environment and show you what the basic process of creating a program will look like, specifically one to do the solve the displacement problem above.
12. As time permits, we’ll add some additional options to our program:
Last modified by Assoc Prof Luke McDowell 08/15/2007 09:06 AM