Deep Sea Class Project -- Checkbook Balancer.
Moderator: Scott Danziger
Deep Sea Class Project -- Checkbook Balancer.
<font size=4 color=green>Class Project. Checkbook Balancer</font>
I’ve decided to have everyone write a checkbook balancer application for the C phase of this course to demonstrate how to use a number of the different tools you will learn in the coming months. This type of application is excellent, as you already know all there is to know about your checkbook and how it works in real life. This application will be show how different types of data will be handled and processed simultaneously. Your assignment is to analyze a problem, code the results of your analysis, and then demonstrate that you have solved the problem by producing a piece of bug-free working code. You will actually write the program, not I, to demonstrate your skills and prowess as they develop.
I will be as absolutely as abstract and vague as I think I can get away with, striving to not give direct answers and solutions because this is where you will don your engineering hat and design and implement the application on your own.
Please do not publish class project code and your most innermost ideas in public, which is opposite from the concept of the rest of the course. If you need specific down-and-dirty help with the nitty grittys, email your requests to me. No one wants to show their code in public anyway. I do not expect undue secrecy from others, that would also be not good. Rather I am requesting you be as independent as you feel comfortable with. You know your levels an limits. Whatever you do, try to keep things fun and distance yourself away from frustration as much as possible. Learning is a slow, steady process.
The Project
There are several major pieces to the concepts of a checkbook balancer. For this part of the project, until you get into coding, outline your concept of the major pieces and how they fit together. Then fill in the outline with as much details as you can. This phase is not a programming assignment.
Like building a house from scratch, in your mind you know what you want and most of the major pieces, like the living room, the bedroom, etc. Then you sit down and freehand sketch how you want the rooms laid out, add a few doors and sketch in some furniture to make sure the doors swing without obstruction. That’s it! No real details until you get out your trusty ruler and a quadrille pad and start actually measuring things.
This phase is the freehand sketch phase of building your new house. Take a few weeks to figure out the different parts of how a checkbook works and when done or if stuck, email the results to me.
Good Luck!!!!!!!!!!!!!
------------------
Allen Moulton from Uechi-ryu Etcetera
I’ve decided to have everyone write a checkbook balancer application for the C phase of this course to demonstrate how to use a number of the different tools you will learn in the coming months. This type of application is excellent, as you already know all there is to know about your checkbook and how it works in real life. This application will be show how different types of data will be handled and processed simultaneously. Your assignment is to analyze a problem, code the results of your analysis, and then demonstrate that you have solved the problem by producing a piece of bug-free working code. You will actually write the program, not I, to demonstrate your skills and prowess as they develop.
I will be as absolutely as abstract and vague as I think I can get away with, striving to not give direct answers and solutions because this is where you will don your engineering hat and design and implement the application on your own.
Please do not publish class project code and your most innermost ideas in public, which is opposite from the concept of the rest of the course. If you need specific down-and-dirty help with the nitty grittys, email your requests to me. No one wants to show their code in public anyway. I do not expect undue secrecy from others, that would also be not good. Rather I am requesting you be as independent as you feel comfortable with. You know your levels an limits. Whatever you do, try to keep things fun and distance yourself away from frustration as much as possible. Learning is a slow, steady process.
The Project
There are several major pieces to the concepts of a checkbook balancer. For this part of the project, until you get into coding, outline your concept of the major pieces and how they fit together. Then fill in the outline with as much details as you can. This phase is not a programming assignment.
Like building a house from scratch, in your mind you know what you want and most of the major pieces, like the living room, the bedroom, etc. Then you sit down and freehand sketch how you want the rooms laid out, add a few doors and sketch in some furniture to make sure the doors swing without obstruction. That’s it! No real details until you get out your trusty ruler and a quadrille pad and start actually measuring things.
This phase is the freehand sketch phase of building your new house. Take a few weeks to figure out the different parts of how a checkbook works and when done or if stuck, email the results to me.
Good Luck!!!!!!!!!!!!!
------------------
Allen Moulton from Uechi-ryu Etcetera
Deep Sea Class Project -- Checkbook Balancer.
The examples presented here elaborates the type of information I’m looking for the first assignment. As soon as you email it to me I’ll offer suggestions and then we can take it to the next phase. Example #1 is too abstract, example #3 contains too many details, while example #2, the middle one, is about just right and is the type of information required for the first assignment.
The following examples describe the overview of going shopping at the supermarket:
Example #1
Drive to supermarket
Purchase stuff
Drive home.
Example #2
Drive to supermarket
Get shopping cart
Get veggies
Get meat
Get Dairy products Move to checkout counter
Pay for selections Load truck with selections Drive home.
Example #3 (using only one item)
Get Meat
Steak
1 pound
porterhouse
$15.00 per pound
Chicken
And so forth.
To help pave the way for you be able to do the same thing with the checkbook application. Everything should be on the same level of what you are doing. For example, a few things you may wish to write for the checking account could be:
Write check
Open checking account
And so forth at that level, although not necessarily in that order. To start writing how to open a checking account and/or describing the mechanical details is way too much information.
------------------
Allen Moulton from Uechi-ryu Etcetera
[This message has been edited by Deep Sea (edited December 04, 2001).]
The following examples describe the overview of going shopping at the supermarket:
Example #1
Drive to supermarket
Purchase stuff
Drive home.
Example #2
Drive to supermarket
Get shopping cart
Get veggies
Get meat
Get Dairy products Move to checkout counter
Pay for selections Load truck with selections Drive home.
Example #3 (using only one item)
Get Meat
Steak
1 pound
porterhouse
$15.00 per pound
Chicken
And so forth.
To help pave the way for you be able to do the same thing with the checkbook application. Everything should be on the same level of what you are doing. For example, a few things you may wish to write for the checking account could be:
Write check
Open checking account
And so forth at that level, although not necessarily in that order. To start writing how to open a checking account and/or describing the mechanical details is way too much information.
------------------
Allen Moulton from Uechi-ryu Etcetera
[This message has been edited by Deep Sea (edited December 04, 2001).]
Deep Sea Class Project -- Checkbook Balancer.
Whatever you have written for the project was due by the Midnight just passed and a few are overdue. Because of the current snowstorm outside, today I can devote a little extra time to check what you've got done.
------------------
Allen Moulton from Uechi-ryu Etcetera
------------------
Allen Moulton from Uechi-ryu Etcetera
- gmattson
- Site Admin
- Posts: 6073
- Joined: Wed Sep 16, 1998 6:01 am
- Location: Lake Mary, Florida
- Contact:
Deep Sea Class Project -- Checkbook Balancer.
Sorry for the delay in getting the assignment back to you Al. . . I had to ask Susan what a checkbook looked like and what did it do!! 
------------------
GEM

------------------
GEM
Deep Sea Class Project -- Checkbook Balancer.
Sheeesh George,
From all those I've seen facing you with pen in hand I thought you'd have figured it out by now.
No problem on the assignments, George. No pressure either. They're there waiting for you when you get ready to tackle them.
------------------
Allen Moulton from Uechi-ryu Etcetera
From all those I've seen facing you with pen in hand I thought you'd have figured it out by now.

No problem on the assignments, George. No pressure either. They're there waiting for you when you get ready to tackle them.
------------------
Allen Moulton from Uechi-ryu Etcetera
-
- Posts: 44
- Joined: Mon Oct 08, 2001 6:01 am
- Location: Richmond, VA, USA
Deep Sea Class Project -- Checkbook Balancer.
Hey Allen, I am keeping up with the Lectures, but the class project has become more than a little confusing. We have had several changes mid-stream, as it were. What is the possibility of getting a single document that I could use to catch up on where we should be in the project? I would even be willing to start over, so I might have a chance of understanding just what we are doing at every step. It would not be necessary for everyone to start over, but it sure would be nice if we had one consistent plan to follow from the beginning. Or are you just getting us ready for the Real World, where design considerations change as you go? 
Arnie

Arnie
Deep Sea Class Project -- Checkbook Balancer.
<BLOCKQUOTE><font size="1" face="Verdana, Arial">quote
But I will backtrack a little on the class project to get you on course.
The short answer is that in the beginning there was not going to be a class project, nor was I going to collect assignments. So I wrote “zip them up and email them” and you did. My email puts all the zip files in the same directory. Whoops! Zip files of the same filename in the same directory? Stop right there, pal. Other zip files I really don’t know who sent them because there is nothing which uniquely identifies the owner. And then I have to make directories for everyone and keep track of them too! Too much, way too much.
I saw a file management nightmare in the making heading toward my direction, full speed ahead, so I stopped in my tracks for damage control. I solved the problem, had to make several attempts at it first, however, that’s where you detected a change in course – not in the course, and that’s your confusion, which I am going to straighten out, hopefully tonight.
Everyone will get a pair of zip files from me that will set their path, workspace, and project up for them exactly how it will be for the remainder of the course. I set it up to make life easier for everyone, including myself.
<BLOCKQUOTE><font size="1" face="Verdana, Arial">quote
<BLOCKQUOTE><font size="1" face="Verdana, Arial">quote
<BLOCKQUOTE><font size="1" face="Verdana, Arial">quote
The lectures and the class project are entirely different from each other and yet they are exactly the same thing. Lectures lead into the next lecture. In every specific lecture I give you a tool, or several tools, with accompanying instructions on how to use those tools In the class project so that you take that new tool and apply it to solving a piece of a “real-world” problem. Right now, you are only building a foundation from the contents of both the lectures and in the class project, and they seem disparate; I know – I’ve thought about how they must look to newbies. Your visibility into how they are coming together will change within several more lessons as you start filling in the pieces.
I try to be as clear as I can be in the lectures because they are largely mechanical exercises, at least 50% or more. In the class project, on the other hand, I’m intentionally being somewhat vague – at least for now – because I’m looking for a different kind of thought process. In the beginning, you commented you felt I was sub-dividing thing into a too-fine granularity, and I said no. The class project is leading into C++ and Windows, and therefore HAS TO BE designed and laid-out in what sometimes seems to be too-small pieces otherwise it’ll never work, and if maybe so, never correctly.
I scoped the entire program out and coded about 80% of it over the Thanksgiving day weekend just for proof of concept as well as to have something that I could give to youse guys without the class waiting for months to get something promised. Worked the program enough to show to myself that it will contain most everything that will be included in the lectures, many of the main features of C. Most of the files of the class project will contain a main theme of its own as well as carryover reinforcements from other lectures and project assignments. It was impossible to have them track each other one-for-one, but I was able to get the class project to work out pretty close to it.
The class project is not small. The C++ project, if we get into C++ and beyond, will most likely be a dojo management program, or something like that. More complicated, and you NEED the methodologies and the thinking strategies you will develop in Checkbook. And then… if something professional looking for your programs is desired there’ll be windows programming.
I just looked at my watch and realize I may not have time to do everything I planned to do in terms of the zip files and the explanations of, tonight.
------------------
Allen Moulton from Uechi-ryu Etcetera
The changes in midstream have to do with the directory structure rather than the project design itself, which is quite stable. Later on this evening there’ll be a write-up about what’s going on, how it’s evolving, where it’s going and how it’s going to get there.Hey Allen, I am keeping up with the Lectures, but the class project has become more than a little confusing. We have had several changes mid-stream,
But I will backtrack a little on the class project to get you on course.
The short answer is that in the beginning there was not going to be a class project, nor was I going to collect assignments. So I wrote “zip them up and email them” and you did. My email puts all the zip files in the same directory. Whoops! Zip files of the same filename in the same directory? Stop right there, pal. Other zip files I really don’t know who sent them because there is nothing which uniquely identifies the owner. And then I have to make directories for everyone and keep track of them too! Too much, way too much.
I saw a file management nightmare in the making heading toward my direction, full speed ahead, so I stopped in my tracks for damage control. I solved the problem, had to make several attempts at it first, however, that’s where you detected a change in course – not in the course, and that’s your confusion, which I am going to straighten out, hopefully tonight.
Everyone will get a pair of zip files from me that will set their path, workspace, and project up for them exactly how it will be for the remainder of the course. I set it up to make life easier for everyone, including myself.
<BLOCKQUOTE><font size="1" face="Verdana, Arial">quote
Ask me that again if you feel the same way after you get the zip files and the accompanying instructions. I haven’t written them yet, so it could be late tonight before I release them on this forum.What is the possibility of getting a single document that I could use to catch up on where we should be in the project? I would even be willing to start over, so I might have a chance of understanding just what we are doing at every step.
<BLOCKQUOTE><font size="1" face="Verdana, Arial">quote
There is one consistent plan, and it is a very good one, except most of it is still in my head -- I’m only about 6 or so lessons on paper ahead of everyone.It would not be necessary for everyone to start over, but it sure would be nice if we had one consistent plan to follow from the beginning.
<BLOCKQUOTE><font size="1" face="Verdana, Arial">quote
Trust me, Arnie, nothing has changed except for a minor tweak here and there.Or are you just getting us ready for the Real World, where design considerations change as you go?
The lectures and the class project are entirely different from each other and yet they are exactly the same thing. Lectures lead into the next lecture. In every specific lecture I give you a tool, or several tools, with accompanying instructions on how to use those tools In the class project so that you take that new tool and apply it to solving a piece of a “real-world” problem. Right now, you are only building a foundation from the contents of both the lectures and in the class project, and they seem disparate; I know – I’ve thought about how they must look to newbies. Your visibility into how they are coming together will change within several more lessons as you start filling in the pieces.
I try to be as clear as I can be in the lectures because they are largely mechanical exercises, at least 50% or more. In the class project, on the other hand, I’m intentionally being somewhat vague – at least for now – because I’m looking for a different kind of thought process. In the beginning, you commented you felt I was sub-dividing thing into a too-fine granularity, and I said no. The class project is leading into C++ and Windows, and therefore HAS TO BE designed and laid-out in what sometimes seems to be too-small pieces otherwise it’ll never work, and if maybe so, never correctly.
I scoped the entire program out and coded about 80% of it over the Thanksgiving day weekend just for proof of concept as well as to have something that I could give to youse guys without the class waiting for months to get something promised. Worked the program enough to show to myself that it will contain most everything that will be included in the lectures, many of the main features of C. Most of the files of the class project will contain a main theme of its own as well as carryover reinforcements from other lectures and project assignments. It was impossible to have them track each other one-for-one, but I was able to get the class project to work out pretty close to it.
The class project is not small. The C++ project, if we get into C++ and beyond, will most likely be a dojo management program, or something like that. More complicated, and you NEED the methodologies and the thinking strategies you will develop in Checkbook. And then… if something professional looking for your programs is desired there’ll be windows programming.
I just looked at my watch and realize I may not have time to do everything I planned to do in terms of the zip files and the explanations of, tonight.
------------------
Allen Moulton from Uechi-ryu Etcetera
Deep Sea Class Project -- Checkbook Balancer.
Allen,got my zip files ,everything works fine. You sure have been doing a ton of work in your "spare time"
. Don't think we don't appreciate it!
Don't forget to take a wee moment for your self now and then.
Btw I was perusing the files just looking at the code.
In the file C:unzipped\lectures_laird\c_course\lectures\lairdc_lectures\c_lectures.plg
I find Ernie Elkins name a couple of times buried in the code in the "Build Log".
I don't pretend to understand any of this yet,I was just wondering if this was a problem.
Laird

Don't forget to take a wee moment for your self now and then.
Btw I was perusing the files just looking at the code.
In the file C:unzipped\lectures_laird\c_course\lectures\lairdc_lectures\c_lectures.plg
I find Ernie Elkins name a couple of times buried in the code in the "Build Log".
I don't pretend to understand any of this yet,I was just wondering if this was a problem.
Laird
Deep Sea Class Project -- Checkbook Balancer.
Whose Ernie? Maybe the name of the person you found in there is the real software engineer behind this whole thing and I'm just faking it 
------------------
Allen Moulton from Uechi-ryu Etcetera

------------------
Allen Moulton from Uechi-ryu Etcetera
-
- Posts: 44
- Joined: Mon Oct 08, 2001 6:01 am
- Location: Richmond, VA, USA
Deep Sea Class Project -- Checkbook Balancer.
I didn't do it! Nobody saw me do it! You can't prove anything! 
Er, that is, unless it was something good, in which case I will take the credit.
But, in this case, I didn't do anything. Did I? That Ernie guy sure has caused me a lot of confusion over the years...
Arnie

Er, that is, unless it was something good, in which case I will take the credit.

But, in this case, I didn't do anything. Did I? That Ernie guy sure has caused me a lot of confusion over the years...
Arnie
Deep Sea Class Project -- Checkbook Balancer.
and I'm just faking it
------------------
Allen Moulton from Uechi-ryu Etcetera
Hey,I've heard rumors about women doing this
and now programers to.
Nothing is sacred anymore
Laird
[This message has been edited by uglyelk (edited December 12, 2001).]
------------------
Allen Moulton from Uechi-ryu Etcetera
Hey,I've heard rumors about women doing this
and now programers to.
Nothing is sacred anymore

Laird
[This message has been edited by uglyelk (edited December 12, 2001).]
Deep Sea Class Project -- Checkbook Balancer.
Ok, here's what went down. You are right, the plg (p-L-g) file is a build log. I assembled the workspace and project and then added the code and header files to the Arnie's directory on my machine when
I was setting it up to be disbursed. I did a clean and then a build all of the project.
The info in that log resulted from that particular build where I tested it first to make sure it worked. I then deleted the Debug directory, and did a dragon drop of that [supposedly] anonymous project into every student's directory on my machine. I didn’t need to rebuild the project anywhere else. When you do a build, Laird, your name will replace Arnie’s.
Same for everyone else, they all have ARNIEELKINS in the build path. After they do a build, those lines will contain the name of the path I set up for them in the zip file, as will be evident in the new plg file the build process creates as it overwrites the old plg file.
C-ya.
------------------
Allen Moulton from Uechi-ryu Etcetera
[This message has been edited by Deep Sea (edited December 13, 2001).]
I was setting it up to be disbursed. I did a clean and then a build all of the project.
The info in that log resulted from that particular build where I tested it first to make sure it worked. I then deleted the Debug directory, and did a dragon drop of that [supposedly] anonymous project into every student's directory on my machine. I didn’t need to rebuild the project anywhere else. When you do a build, Laird, your name will replace Arnie’s.
Same for everyone else, they all have ARNIEELKINS in the build path. After they do a build, those lines will contain the name of the path I set up for them in the zip file, as will be evident in the new plg file the build process creates as it overwrites the old plg file.
C-ya.
------------------
Allen Moulton from Uechi-ryu Etcetera
[This message has been edited by Deep Sea (edited December 13, 2001).]