| Task |
Description |
Due Date |
Comment |
Area See Course Grade Sheet |
Deliverable
to Pass In? |
||
| 1 |
Make a commitment to become a
Master of Esakov and Weiss |
Now |
You have the ability within
yourself to master every morsel of our textbook. I will help you to do
this. You need to have a sincere desire to earn the title Master of Esakov and Weiss.
It will take time for you to earn this title. You cannot get by just by
hanging out in class and then scrambling about to find a bit of time
here and there to get the work done. But, do not think for one second
that you cannot do it. I invite you to make this commitment. You need
to structure your outside of
classroom life so that you are able to dedicate yourself to a
regular, disciplined program of effective study. The process starts
right now. Go get the book and do not wait for class to start. Bring
your full effort. Bring it. |
No |
|||
| 2 |
91.101 Fall 08 Final |
Now |
Download a copy of the Fall 2008 91.101 Computing final exam.
Take another stab at it. To be a Master of
Chapter 1, you need to score 88% or higher on this test. |
1 |
No |
||
| 3 |
Acquire a 3 ring binder |
Now |
Pass your binder into me during
the first week of class. The binder should be at least a 3"
binder. The binder should have a way to identify your name on the
outside of it. Perhaps it has a plastic pocket on the outside. Do not
just write your name on it with a pen or magic marker. Your work this
semester will be kept in a 3 ring binder. It will be altogether in one
place. It will be located in my office. You should get in the habit of
three hole punching all of your work before you pass it in. Remember to
staple it. Did you buy a stapler recently? |
15 |
Yes |
||
| 4 |
Obtain the Esakov book. |
Now |
Online or at the UML Bookstore.
Ideally you would obtain this book at least three weeks before class
begins. In this way you can read quite a bit of it before you are start
taking a full load of courses. Get the book now. |
No |
|||
| 5 |
Obtain the Alice Hamachek book. |
Now |
Online or at the UML Bookstore.
You should have already obtained this book from 91.101 Computing. Read
this book. Figure out a way to incorporate its messages into your
academic life. |
No |
|||
| 6 |
Obtain Strunk and White's The Elements of Style. |
Now |
Strunk's original copy is free
online. Still might be nice to have your own personal copy of the "The
Little Book". You can get a new one for under $10.00. Then you
can keep it in your back pocket. Buy the paperback version. |
No |
|||
| 7 |
Obtain a C programming book. |
Now |
Applications
Programming in ANSI C, by Johnsonbaugh and Kalin, is a good
referenence book. |
No |
|||
| 8 |
Read section 8.1 in Esakov. |
Jan. 26 |
Record how long it took you to
read it. Take notes. In your notes write down the title of section. In
your notes write down the formal definition of the Big Oh notation. As
you read the section, ask yourself "What would Jim ask me about
this section?" Write down possible questions that I would ask of you.
Thirty minutes spent now reading this section is time you will save
later. Try to get this done well before the start of classes. It is
always better to have read the material in the book before we discuss
it in class. |
No |
|||
| 9 |
Read E.B. White's Introduction. |
Jan. 26 |
Span pages xi - xvii in the 3rd
edition of Strunk and White. It starts out: At the close of the first World War, when
I was a student ... Keep this book near you throughout the semester. Take it to lunch with you. Use it when you write. |
15 |
No |
||
| 10 |
Read section 1.1 in Esakov. |
Jan. 26 |
Record how long it took you to
read it. This section is referred to entitled, Structures. Read it.
Then go to your copy of Johnsonbaugh and Kalin's C book and re-read the
section pertaining to structures. Do you see what the . operator does?
Do you see what the -> operator does? Do you know that ANSI C will
pass a copy of an entire structure when it is passed as an argument. Do
you see that a function can return a full structure too. Please know
that Esakov and Weiss choose to pass the address of the structure
throughout their textbook. Your goal is to become a full Master
of Chapter 1. To do this you will need to know the basics of the C
programming language -- cold. You can do this. Give yourself a chance
to excel. Friday nights and Saturdays were made for studying. You need
to get in your daily academic workout. Get the rust off. |
1 |
No |
||
| 11 |
Obtain a linux user account from
UMass Lowell's CS Department |
Jan. 26 |
You should already have one from
your Computing I experience, but if you do not, go to Olsen Hall, Room
312 and get one. |
No |
|||
| 12 |
(re) Submit paper copies of
programs 1-10 of "Jim's Programming Problems" given in Computing I. |
Jan. 26 |
If you received 3 points on a
problem, you may submit the same paper copy back to me that I handed
back to you during Computing I. If not, fix it. Make your code look
good. I am going to (re) collect all of your Computing I assignments
and put them into your binder. Each of these assignments must look
great. In order to achieve the label "Master of Chapter 1", you need to
have a binder filled with beautiful looking, working programs. All of
the programs. You can do this. You can start now. Go back and revisit
the first 10 programs and make sure that they look snappy and that they
work. A program that is not "healthy" will not be placed into the
binder. Bring your best game. |
1 |
Yes |
||
| 13 |
Read the four introductory
paragraphs that start Section 8.2 |
Jan. 26 |
This is less than 1 full page of
material. You should take notes as you read it. Make sure you know the
title of Section 8.2. Make sure you know the exact title of your
textbook. Make sure you know the exact spelling of the names of the
textbook's two authors. |
11 |
|||
| 14 |
Organize your unix account
directory |
Now |
In your UMass Lowell CS
Department computer account, create a subdirectory called 102. Move to
the 102 subdirectory and create the following eight subdirectories:
ch1, ch2, ch3, ch4, ch5, ch6, ch7, and ch8. Do this now. You can do
this via "mkdir" command, but you knew that. If you did not know that,
then type "man mdkir" at the shell prompt. By the way, in the list of subdirectory names above, notice that there is a comma just before the "and". Good ole Professor Strunk says "put a comma there", so put that comma there. The comma is not optional. Put it in there. Furthermore, please know that Bill Russell is the best basketball player of all time. This is a fact. It is not about how many points you score, or how well you can dribble, or you how well you can shoot. There is one measure. It is called the scoreboard. Bill donned the sneakers 13 years in his NBA career. His teams won 11 championships - because of him. He had different players playing with him over the years. It did not matter. His college team was 55-0 in its last 55 games. His college team also won two NCAA titles. His school was not known as a basketball powerhouse. You can become a champion too. Make the commitment to become a champion of Esakov and Weiss. Bring it. (ps: Bill Russell would have won a 12th NBA championship, but he broke his foot in the playoffs. He played and his team was eliminated in the finals.) |
|
No |
||
| 15 |
Make more subdirectories within
your ch8 directory. |
Now |
Within your ch8 directory, make
these subdirectories: sets and sorting. Within your newly
created sets subdirectory make these four subdirectories: bitvector,
sequential, binary, and hashing. |
||||
| 16 |
Read Subsection 8.2.1 |
Now |
Subsection 8.2.1 is called
Bit-Vector Representation. Know this title. What is the title of
Chapter 8? Who are the two authors of your textbook? This
subsection is just three pages full. As you read this section
doodle a picture of the data structure. What is the purpose of
the array called bit? Do you see exactly how a set of integer
values is being represented. This approach is a good approach
when you are keeping track of a finite set of integers or when your
data can be mapped easily into a finite set of integer values. |
11 |
|||
| 17 |
Bit Vector Representation |
TBA |
Remember
at the tail end of Compuing I, I gave a copy of globals.h to you. You
were supposed to have typed it in. I hope you did. Make a copy of
globals.h and move it into your bitvector directory. For this
assignment you will also need to create set.h, set.c, and a makefile.
You will also need to create two data files. The full write-up for this
assignment can be found by clicking on the link to the left. This code
is not polymorphic. You need to do this assignment if you wish to become a Master of Chapter 8. There will be other such assignments. Get this one out of the way now. Spend 90 minutes now getting this to work. It is 90 minutes you will have when you need to study that math test or write that term paper. |
11 |
Yes |
||
| 18 |
Read Section 1.2 |
Now |
Section 1.2 is called Unions.
Read it. It is just over 1/2 page longs. We did not discuss this
concept in Computing I. After reading this section go to your C book
and read the section about union structures in that book too. |
1 |
|||
| 19 |
(re) submit paper copies of
problems 11-20 of "Jim's Programming Problems" given in Computing I |
|
1 |
Yes |
|||
| 20 |
(re) submit your paper copy of
selection sort. This is the non polymorphic version. |
You should go back and review
this code. I beleive it was programming problem 79 from last semester.
Walk yourself through it. Take the time to do. Doodle how it works.
Make sure you can replicate this code without the aid of a textbook.
You should be able to write this program on a piece of paper with your
book closed and nobody looking over your shoulder. |
1,12 |
Yes |
|||
| 21 |
Read Section 3.1 |
You need to become a master of
Chapter 3. You can do this. Your mastery of Chapter 3 starts with a
careful and deliberate reading of pages 39 through the top of page 44.
What is the title of Chapter 3? What is the title of section 3.1? Take
note while you read. |
3 |
No |
|||
| 22 |
(re) submit your paper copy of
problem 74. |
In Computing I, you should have
submitted a solution to problem 74. I want you to review this
submission and then re-submit it to me. |
1,3 |
Yes |
|||
| 23 |
Extending
Problem 74 |
On page
50 of your textBook, you will find problems 1a, 1b, and 1c. You need to
get these routines built and placed into your complex.c file. You will
also need to add their "declarations only" to your complex.h
file. |
1,3 |
Yes |
|||
| 24 |
Read Section 3.2 |
Section 3.2 is entitled
Polymorphic Data Types. Although this section is only 1 page long, it
is very important that you read it. Upon first reading you may
not get the entire idea. However, after building some polymorphic code,
you will need to back and re-read this section. It is important that
you fully understand the concepts in this section. You can do it. We
will discuss this in class. |
3 |
||||
| 25 |
Read Section 8.2.2 |
You are on your way to becoming
Masters of Chapter 8. One step along this path is to fully understand
the material on pages 321, 322, 323, and the top half of page 324. Find
a quiet, well lit location, shut down your ipod, mp3 players, cell
phone, blackberry, radio, tv, and have a quiet moment with subsection
8.2.2. You can do this. |
11 |
No |
|||
| 26 |
Sequential
Set Representation |
TBA |
Make
another copy of globals.h and move it into your sequential directory
within your ch8 directory. In addition to this you will need to obtain
my version of main.c for this problem. It can be found in my public
directory. You will also need to create set.h, set.c, and makefile. The
set.c file will contain the init_set function definition located on
page 322. Type this in. It will also contain both the set_insert and
set_member functions found on pages 322, 323, and 324. This representation of sets is polymorphic. It can be used to represent a set of integers, a set of words, a set of doubles, a set of sets, etc. It contains two key ideas. The first is the concept of a generic pointer. Generic pointers are pointers to a void. They are useful because their size is the same no matter what it is they point to. The second concept is passing a function as an argument. |
11 |
Yes |
||
| 27 |
(re) submit paper copies of
problems 21-30 of "Jim's Programming Problems" given in Computing I |
Now |
Each of your submissions must
look good. Use the 91.101/102 style guide. In order to get full credit
for your Chapter 1 work, you need to have these programs entered into
your personal 3 ring binder. |
1 |
Yes |
||
| 29 |
Read Section 5.1 |
Now |
This is about one page long.
What is the title of section 5.1? What is the title of the textbook? |
5 |
|||
| 30 |
Chapter 5 Directories |
Now |
Use the chdir command and move
to your ch5 directory. Make three subdirectories. They are called:
paren, grf, and infix. Do this now. |
No |
|||
| 31 |
Read Section 5.2 |
Now |
Read section 5.2 in its
entirety. Go someplace quiet. Turn off your electronic devices. This
section spans pages 104, 105, 106, 107, 108,109, and 110. As you read
this material, you should realize that the code given relies upon the
material discussed in section 5.3. You should also note that the switch
statement at the bottom of page 106, the top of page 107, and at
the top of page 108 contain errors. The '-' symbol and the
" symbol are the wrong symbols. Never the less, you should mentally
trace through this code. |
5 |
|||
| 32 |
Read Section 5.3 |
The title of this section is
Stack Implementation: Static Arrays. It is less than 3 pages
long. As you read through the code do not rush. Doodle a nice picture
of what this stack data structure looks like. |
5 |
No |
|||
| 33 |
Create
stack.h, stack.c for the Parenthesis Checker Case Study. |
Using Section
5.3 as your guide create two files within your ch5/paren subdirectory.
One file is called stack.c and it contains the code for init_stack,
empty_stack, push, pop, and top. These function definitions are given
on pages 111 and 112. You can do this. You will need to include both
globals.h and stack.h. The second file is called stack.h. Use the
#ifndef construct and put an appropriate description comment at the top
of the files identifying who you are, the name of each file, and
incorporate the case study name too (parenthesis checker). After doing this you should be able to successfully compile the program. I did not say link the program. You need to use the -c option on the gcc command line. For example, %gcc -c -ansi -Wall stack.c. Ideally, you will have no error messages or warning messages. If you do, find a way to eliminate them. Make sure you understand the code that you are typing in. |
5 |
Not yet |
|||
| 34 |
(re) submit paper copies of problems 31-40 of "Jim's Programming Problems" given in Computing I | Go back and review your
solutions to these ten problems. Do they look snappy. Did you earn 3
points for each of them? Take a moment to get these done and
understood. You should not need to obtain too much help from anybody.
It would be good to have done all of these before class starts. You
will need to have quality looking, working paper copies of these
programs placed into your 3-ring binder. Make sure that you undertand
how and why each of your solutions work. Could you redo them on your
own? |
1 |
Yes |
|||
| 35 |
Creating a stack interface
module for the parenthesis checker problem. |
Make sure you've completed tasks
29, 30, 31, 32, and 33. Now, you need to built interface.c and
interface.h for the parenthesis checker problem. The code for
interface.c is located on page 108 and page 109. This interface codes
sits between the main function and the stack primitives. The interface
code know that the stack primitives seeks generic pointers. The
interface code knows that the main routine will be passing down
(push_char) or expecting to receive (pop_char, top_char) character
data. The interface code repackages the data. The interface.c file will need to include interface.h and globals.h. At first, this code will look confusing to you. Try your best to doodle it out and walk yourself through it. I will go over this code in class. |
5 |
Not yet |
|||
| 36 |
Parenthesis
Checker |
Create
main.c for the parenthesis checker program. The code for this is in
your book on pages 106, 107, and 108. Type it in. Create a makefile for the parenthesis checker program. You can do this. Hand in a working paper copy of the parenthesis checker program to me. Put the makefile on top. Clearly label the makefile with a comment as to who you are and what the program name is. Electronically submit your working copy of the parenthesis checker as indicated in the table below. |
5 |
Yes |
|||
| 37 |
Selection Sort - the non
polymorphic version |
Go back and find your solution
to programming problem 79. This was the non polymorphic version of
selection sort. It sorted integers. Submit your paper copy of this
program. In so doing, you are verifying that it works and that you
understand it. |
8 |
Yes |
|||
| 38 |
Polymorphic
Selection Sort of Strings |
At the
very bottom of page 338 and at the top of page 339 you will find code
for a polymorphic implementation of selection sort. It relies upon
generic pointers and C's ability to pass a function as an argument. You
should move into your 102/ch8/sorting directory and then create a
selection subdirectory. Move into the selection subdirectory and then create selection.h and selection.c.
The code for selection.c is in the book. The code in the book is
correct. There are no typos. Within selection.c you will need to
include "globals.h". Make your code look good. Let it breathe. You are
not in a rush to complete it. The doodle in the book 2/3rds of the way
down page 339 is a bit misleading since it shows integer data within an
array of integers. This is not quite right. The doodle should be an
array of pointers (to voids). The authors did this, perhaps, to save
ink as the real doodle would have been a bit more complicated. They
simplified matters and hoped that you would know how the code works by
reading it. Your selection.h must have a header comment. Your selection.h must use the #ifndef construct. You will need to include "globals.h". You should compile this using the -c option as well as the -ansi and the -Wall options. Ok, now you should create main1.c. it is given to you on the bottom of page 339 and the top of page 340. It is very short. Build an executable image and get your program to run. Submit yoru hard copy to me and also submit your code electronically. |
8 |
Yes |
|||
| 39 |
(re) submit paper copies of
problems 41-50 of "Jim's Programming Problems" given in Computing I. |
Now is a great time to get these
out of the way. Make them all look great. Do not forget to call fclose
if you need to. Check for spelling errors. Do not have any ragged
indents. Make your code breathe. You are working towards becoming a
Master of Chapter 1 when you do this. |
1 |
Yes |
|||
| Submit to |
Assignment
Name |
Grader's Name |
Electronic
Due Date |
Program Name |
| canning |
bv |
canning |
To be determined. Will be
mentioned in class. |
Bit Vector Representation of Sets |
| canning |
paren |
canning |
To be determined. Will be
mentioned in class. |
Parenthesis Checker |
| ssort1 |
To be determined. Will be
mentioned in class. |
Polymorphic Selection Sort of
Strings |
||
| Area |
Percentage of your 91.102 letter grade |
Things that you must do to be
labelled a master of the area. |
| Become a Master of Chapter 1 |
6% |
|
| Become a Master of Chapter 2 |
6% |
|
| Become a Master of Chapter 3 |
6% |
|
| Become a Master of Chapter 4
(Lists) |
8% |
|
| Become a Master of Chapter 5
(Stacks) |
6% |
|
| Become a Master of Chapter 5
(Queues) |
6% |
|
| Become a Master of Chapter 6
(Circular Linked List) |
6% |
|
| Become a Master of Chapter 6
(Doubly Linked List) |
6% |
|
| Become a Master of Chapter 7
(Trees) |
8% |
|
| Become a Master of Chapter 7
(Graphs) |
8% |
|
| Become a Master of Chapter 8
(Big Oh, Sets, and Searching) |
8% |
|
| Become a Master of Chapter
8 (Sorting) |
8% |
|
| Attendance |
4% |
|
| Miscellaneous |
3% |
|
| Unix, Emacs, GDB, Makefile |
3% |
|
| Final Exam |
8% |
|