Section C

In Section C, we will be working in teams. Writing modern software require more than what an individual can do; we need to focus that attention of multiple people on the problem. Unfortunately, bringing more people into a project does not necessarily make the problem easier. If one person can dig a hole in 2 hours; two people can dig a hold in 1 hour only if they can both fit in the hold. Fitting people into the hole so everyone can work is a problem people have been working on since the beginning of software development.

Week 10

Week 10 begins the development of your program. This program is a database similar to the one written as the last final project in Unit 2. Now, however, you will have a team to work on it with you. The lectures will cover element you will need to move your database into file.

Week 11

The Lab in Week 11 continues the database you are building as a team. The lectures will cover tools for working as a team.

Week 12

In Week 12, ontinue your database work in the labs. The lectures will begin to discuss element of C that you will need in Data Structures.

Week 13

In the last week you will finish up the database. The lectures will be an introduction to the kind of problems you will be working on in Data Structure.

The Importance of Hard Work

The goal of this class has been to teach you to program and, even more important, to learn to program. The purpose of this section to to teach you to learn from others: to frame questions and to provide answers. All of you will have a shared goal: to complete the new backlog. In addition, each of you will have two individual goals: to learn how to program and to learn how to learn to program. Take this opportunity to bring those goals together by learning from each other.

Maybe you think that you need not work because someone else will do it. Or maybe you think that you will end up doing all of the work and someone else will reap the rewards. Neither of these is accurate because the work is the reward: if you work, you learn; if you do not work, you do not learn. Writing the program is the only way to learn. Some of you will find writing the program easier than others. To those who do, I say do not be greedy; share you expertise and the work. To those who do not, I say accept the help of those who can help you but demand that you be allowed to figure out the problem yourself.

Database Backlog

You will implement this backlog twice with your team. The first time you will implement it the same way you implemented the database in calc. That is, you will implement it as an array of structures. This database will be empty every time you start it, which is not what you want from a database. It is, however, what you want from a fake database that you can use to test your real database.

The second time you implement the database, you will implement it using files. This will act more like a real database.