CSCI 205 Data Structures and Abstraction Fall 2006


This is sort of the NEWS page.  I'll update it as there is news.  It'll sort of be a class LOG of what's happening.

11-28-2006 On Monday I handed out the Textbook Adventure Test.  We had gone through sorting and then on into binary trees and binary search trees.  Currently due problem list:

#6 page 729 Classes
#9 page 1072 Linked Lists
#14 page 1180 Stacks and Queues

#16 page 1270 Chapter 19 Searching and Sorting Algorithms
#1 and #2 page 1331 Chapter 20 Binary Trees
#1 and #2 page 1371 Chapter 21 Graphs

Students should send me an email when they are ready to have their problems graded.  The J: Drive folder should be clearly marked with the problem's name -- A reasonable naming convention would be Pblm<#>_<pg#> so the folders for the first three problems on such a convention would be: Pblm6_729, Pblm9_1072, Pblm14_1180 and the others would be Pblm16_1270, Pblm1_1331, Pblm2_1331, Pblm1_1371, and Pblm2_1371.

11-15-2006 Covered rest of 18, demo'ed some code entry and compilation from the book and showed the utility of abstract functions by doing the same problem with two implementations of queueType.  Started Search, Chapter 19 and got as far as slide 10.

11-13-2006 Covered Chapter 18 the use of stacks to do things like evaluating expressions using reverse Polish notations and reversing a linked list and then we started looking at Queues and especially the information which one must maintain using arrays -- the problem between a queue being full or empty and techniques to deal with the issue (counting, or an extra cell in the queue to make empty and full distinct).

11-9-2006 LAB  -- Talked about the grading for the course which will be based on 1) Mid-term Programming Exam, 2) LABS Completed, 3) the 8 Programming Problems (see list below) and 4) the TextBook Adventure Game (50 questions whose answers can be found in the book.)  The LABS will be worth between 10 and 25 % and the 8 Programming Problems will be heavily weighted, the Mid-Term and the TextBook Adventure game will receive about equal weight.  Right now the most important thing is to work on the Programming Problems.  If you want I'll spend a lab working on one or more of the problems to show you how I would approach it.

11-8-2006 Covered Templates and Started Covering Stacks and Queues.  The Programming Assignment for Stacks and Queues is problem number #14 (1180) So far the Assigned Problems in Brown are: (The problems in Black are To Be Assigned)  You should clearly name the Project Folder in which you address these problem.  A reasonable naming convention would be Pblm<#>_<pg#> so the folders for the first three problems on such a convention would be: Pblm6_729, Pblm9_1072, Pblm14_1180 and the others would be Pblm16_1270, Pblm1_1331, Pblm2_1331, Pblm1_1371, and Pblm2_1371.

#6 page 729 Classes
#9 page 1072 Linked Lists
#14 page 1180 Stacks and Queues

#16 page 1270 Chapter 19 Searching and Sorting Algorithms
#1 and #2 page 1331 Chapter 20 Binary Trees
#1 and #2 page 1371 Chapter 21 Graphs

11-6-2006 Covered Copy Constructors and Overloading Operators.

11-2-2006 Ch 17 Linked Lists (covered first 39 slides) Problem Assigned is #9 on page (1072)  -- After closely looking at the problem I realized that you can't really do it without understanding: 1) Copy Constructors, 2) Operator Overloading, and 3) Templates.  Copy Constructors are covered in Chapter 13 and the other two topics are covered in Chapter 14.  So while I'd like this assignment to be done by next Thursday, it will require some digging to dig out those concepts and I'll go back and look at those on Monday.

11-1-2006 We are transitioning to Data Structures Proper and we'll be covering Chapters 17 Linked Lists, Ch 18 Stacks and Queues, Ch 19 Searching and Sorting Algorithms, Ch 20 Graphs, and Ch 21 Graphs.  We'll come back and look at Chapters 14 through 16 but particularly Templates and Recursion as time permits.  The drill for the coming weeks will be that Labs will consist of one or two assigned programming problems per week.  These must be done and put in appropriately named folders.  Appropriate names will be the assigned problem name.

10-30-2006 Gave a presentation on the three problems most student bombed on the test:#s 4, 5, 7.  See the R: Drive.  The problem is probably a lack of insightful preparatory work setting up the problem and working through the problem in small increments.  I took a snapshot of the J:Drive (10-31-2006) but the problem Problem #6 page 729 isn't due until tomorrow.

10-23-2006 Completed the presentation of concepts of Class and Inheritance as covered in Chapter 12 and began covering Pointers.  Assigned Problem #6 page 729.  Due next Wednesday.  Started exploring Chapter 13 Pointers.  Reached Slide 20.  Pointers are the essential dividing line between C++ fundamentals and going into Data Structures since so many Data Structures of interest depend on dynamic memory and pointers.

10-16-2006 We went to about slide 31 in chapter 12 looking at how C++ Inheritance works.  I promised to get the tests graded by Thursday and give everyone specific grades them.

10-13-2006 If you've looked at Web Advisor you will see that I gave everyone an S=Satisfactory for the mid-Term.  The reason is that letting you turn in the Tests yesterday evening just didn't turn out to give me enough time to grade them.  So I'll grade them over the weekend and give you your test grade on Monday.  We've reached the point where we will begin to cover core Data Structures.  First we'll finish up Object Oriented Programming Concepts.

10-11-2006 We finished up the slides on Classes and Abstract Data Structures.  The Test must be completed by the end of lab time tomorrow (Thursday 10-12-2006) and all the programs should be in the J: Drive per instructions.  I will be grading them Thursday evening and submitting the grades to the registrar's office.

10-4-2006 Today we covered most of the chapter on Classes and Abstract Data Structures.  I will not be able to come to Lab tomorrow because of a conflict.  You can work in the lab or work on your own in your rooms on the labs.  We handed out Chapter 10 and 11 Labs today.  Don't forget that the Test is due next Thursday.

10-2-2006 Today we covered structs and I handed out a test which is a selection of programming problems from the book that will be due next Thursday (October 12th).  No extensions!  I'll have little enough time to grade them because grades will be due the next day.  We're rapidly coming to the end of the C++ language material and then it's DATA STRUCTURES.

9-27-2006 Today we'll cover the slide from Chapter 9.  I've put the example code on the R:Drive in CSCI-205\CodeExamples.  Feel free to copy it into a project and run it.

9-25-2006 We covered the Chapter 8 slides and handed out labs for Chapter 6 and 7.  Chapter 8 touched enum defined data structures and namespaces and strings.  It's important to note that when you #include things you are bringing in large amounts of code which may both help and complicate your life.

9-21-2006 Lab today will concentrate on Chapter 4 but you can do whatever you want.  If you have not finished Chapter 2 or Chapter 3 keep working on it.  You need to go through all the chapters so getting behind is not good.  You can get an idea of where you really need to be by looking at the Schedule.

9-20-2006 Today we'll cover the slides from Chapter 7 and hand-out Lab 5.

9-18-2006 Plan to cover the slides from Chapter 6 on User-Defined Functions I.  Did that and handed out Lab 4.

9/14/2006 We started working on Lab3 -- I recommend journaling the work -- so you can cut your code back and forth between your journal and your project file.  To cut console output from the console to a text file or a Word.doc file you right click on the label bar of the console, select EDIT>MARK then using your mouse you can select what you want to cut and paste.  You can drop code fragments into your journal and put code into your journal and cut it into your project.  To use get to read in character after character until some sentinel you can use something like

const char SPACE=' ';
const char NEWLINE = '\n';
char ch1, ch2,ch3,nxtChr; //characters for the get/ignore version
cin.get(ch1);//first character of input
nxtChr = ch1;
while(nxtChr != SPACE)
      cin.get(nxtChr);//this is done here so you exit before appending the SPACE to the string
... and repeating that kind of thing for the middleName and lastName gets you both the first character and the whole name.  Of course this example doesn't use the ignore() stream function.  I want you guys to journal your work.  See you on Monday.

9-13-2006 We covered Chapter 5 slides on Control Structures II -- Repetition which also touched on continue and break statements.  Passed out Lab 4.  The objective is to do about two chapters a week until we get out of the elementary C++ stuff and then slow down to do the datastructures.

9-11-2006 We went over the slides from Chapter 4 Control Structures but didn't quite get to the end.  I still have to get to looking at the journals that you are putting on the J: drive and your progress on the Labs.

9-11-2006 BEGINNING OF WEEK 3 -- how time flies -- today we'll go over the slides from Chapter 4 and I expect to do the slides from Chapter 5 on Wednesday.  Continue working on the lab materials, especially the parts that involve programming and journal your work.

9-6-2006 Today we went over the slide from Chapter 3 which cover basic INPUT/OUTPUT, both Console and File as well as IO-MANIPULATORS. 

8-31-2006 We're having our first Laboratory today -- it's Getting Started using Visual Studio 2006 and Visual C++

LAB #1 -- GETTING STARTED the handout that you were given in hardcopy.  The links provided are to help you find information about the Microsoft Visual Studio environment and Visual C++ particularly.  There are a wide variety of helpful tutorials on line.
Getting Started .NET Version another version that claims to be the .NET version.
Visual C++ 6.0   Getting Started with Visual Studio Link1 -- went fairly well -- we got to page six of the Getting Started exercise before I punted and went to the Download
 Quicksort_Visual_C++.exe We ran the download on the Microsoft EULA and then I generated a name file and we ran it again.  The students are expected to go through the lab at least to that point and then run the Quicksort code on a file of their own and put the Programming Journal in their J: Drive.

One Monday we'll be reviewing the slides for Chapter 2 and I'll be handing out a lab package for Chapter 2 which you can work on.  On Wednesday the plan is to look at Chapter 3 -- we may want to try to blow through a lot of the early chapters since you've all seen most of the basic ideas -- we'll want to talk about that in class.

LAB #2 --Handed out at Monday 9-4-2006 class on Chapter 2.  We'll be going over the slides from Chapter 3 on Wednesday and doing the lab on Thursday.