-
5 Dec. The term project is due on the last
day of reading period, which is Friday, December 9. The due date
was incorrectly listed on both the project assignment
and on the 31 Oct. announcement below. Sorry for the
confusion over when the end of reading period is; the
Yale College Calendar is clear that it's the 9th.
Both announcements have been corrected.
-
29 Nov. Reminder: Exam 2
will be held at the regular class time and place
(2:30-3:45 pm in BCT 102) on Thursday, December 1.
-
29 Nov. I updated the lecture 23a (.pdf) notes to include the
review slides presented in class today, so if you
previously downloaded it, you might want to go back
and get the current version. Also, lecture 23b
(.pdf) will
not be covered by the exam since we didn't
get to it, but I'll leave the notes on the web site
anyway for reference.
-
27 Nov. Here is the study guide to exam 2
(.pdf) which you
might find helpful in preparing for Thursday's
exam.
-
8 Nov. I posted the notes and demos from
today's lecture 19
(.pdf). Both have
been corrected and/or expanded from what I showed in
class, so take a look at them.
-
1 Nov. A couple of people have noticed that
the grow()
function of
FlexArray
does not correctly manage
memory and will trigger valgrind
errors
if ever called. This code resulted from a mistaken
attempt to make FlexArray
usable with
all element types, not just with ones supporting
value semantics.
I've corrected the file flexT.hpp
in
the directory /c/cs427/assignments/ps4
on the Zoo. You may use either the old or the new
version in solving Problem
Set 4 (.pdf). It
shouldn't materially affect your answers, although
the new code might be a little slower than the old. I
kept the old version as flexT.hpp.OLD
for reference (and so you can apply diff
-w
to the two versions to see exactly what was
changed).
-
31 Oct. Term Project
Assignment (.pdf).
-
A one-page project proposal is due on Sunday,
November 13. It should be submitted online as
assignment number "8-proposal
"
-
The completed project and report are due on
the last day of Reading Period, Thursday, December 8 Friday,
December 9. They should be submitted
online as assignment number
"9-project
".
This deadline cannot be extended
except by a Temporary Incomplete authorized by
the student's residential college
dean.
If you are not certain what would make a good term
project, please ask.
-
29 Oct. The code directory
/c/cs427/assignments/ps4
on the Zoo is
also accessible via the web at URL http://zoo.cs.yale.edu/classes/cs427/2011a/assignments/ps4/.
-
28 Oct. I've made a few changes to
tester.cpp
in the directory
/c/cs427/assignments/ps4
on the Zoo. You
should use the new version in solving Problem Set 4 (.pdf). I renamed the old
version to tester.cpp.OLD
for reference
(and so you can diff
it with the new
version to see exactly what was changed).
The changes and the reasons for making them are as
follows:
-
I set defaultIterations
to 1
million. This is still large enough to get
interesting test results, but you won't spend so
much time waiting for your code to run.
-
I changed runAllTests()
to run
each test twice. You will notice some
cases where the second run is considerably faster
than the first. This is most likely due to the
way the operating system manages memory. The
first run will increase the size of the
working set of memory pages to what is
needed for the test. The second run will reuse
that memory and thereby save time in the kernel
for allocating new pages to your process.
-
I changed the code in test2()
to
append new cells to the tail of the list instead
of to the head. This way, a subsequent scan of
the list produces the numbers in the same order
as they were inserted, and the same order that
they are stored in the array in
test1()
. Without this change, you
would get different checksums for
test1()
and test2()
since the elements would appear in opposite
orders.
I also want to clarify how to compute the
checksum. While I gave a recursive definition of the
mathematical function to be computed, I intend for
you to compute it iteratively with a loop that runs
through the numbers in the stored list. Namely, in
the ith iteration, the new checksum
is computed by the formula (x XOR
rot5(c))
, where x
is the
ith number in the list and
c
holds the checksum of the first
i-1 elements.
- Problem Set 4
(.pdf) is available. It
is due before midnight on Sunday, November 6.
-
27 Oct. Problem
Set 4 (.pdf) is
available. It is due before midnight on Sunday,
November 6.
-
8 Oct. I've just posted a study guide to exam 1
(.pdf) which you
might find helpful in preparing for Thursday's exam.
Please let me know if I have inadvertently included
sections of the textbook that we simply haven't
covered in lecture.
-
6 Oct. I just learned that the Zoo
computers are using version 4.5.1 of the Gnu C++
compiler. This compiler supports the command line
argument -std=c++0x
, but the new
standard had not been finalized when the compiler was
released, and it seems not to support the new keyword
nullptr
. Therefore, you should continue
using NULL
for the null pointer and
ignore the requirement in Problem Set 3 (.pdf), section 2.2, guideline
6, that asks you to do otherwise. The just-posted
revision 1 eliminates that requirement.
-
30 Sep. Problem
Set 3 (.pdf) is
available. It is due before midnight on Friday,
October 7.
-
26 Sep. Exam
schedule:
-
Thursday, October 13.
-
Thursday, December 1.
Both exams will be held at the regular class
time and place (2:30-3:45 pm in BCT 102).
-
26 Sep. I've changed the program used to
generate the sample output in yesterday's handout. It
now resets RandBit
before and after each
of the two tests in debug mode. This means that the
sequence of bits printed under "Testing RandBit" are
the same ones that are used to generate the coin
flips printed under "Testing Coin flips", which in
turn are the same ones used for the actual simulation
run. The output from the new program replaces the
sample output in the handout, "Remarks on Problem Set 2
(.pdf)". The revised
handout is labeled "Handout #5 (rev. 1)".
-
25 Sep. Please see Remarks on Problem Set 2
(.pdf) for additional
information and hints on the current homework
assignment. The assignment purposely gives you a lot
of latitude in working out your design. These remarks
should just be interpreted as guidance if you are
having trouble getting your program working. If you
have already succeeded in solving the problem in some
other way that is consistent with the original
assignment, you do not need to change your
code. As always, please feel free to email me with
any questions, either about the assignment or about
the technical material.
-
19 Sep. Problem
Set 2 (.pdf) is
finally available. It is due before midnight on
Wednesday, September 28. There is a lot of new
material here. Please feel free to ask about anything
you don't understand.
-
16 Sep. One of the students pointed out
that there is a bug in
DataPack::readData()
which causes the
last record to read incorrectly when the file
contains exactly LENGTH == max
data
items. I will post corrected code eventually, but for
PS1, simply make sure that LENGTH
is
strictly greater than the file size, i.e., at least
101 in order to read the supplied data set. Sorry if
this caused you to waste time looking for
non-existent bugs in your own code.
-
15 Sep. I just posted the slides for
today's lecture 5
(.pdf).
-
8 Sep. Several announcements:
-
Problem Set 1
(.pdf) is now
available. It is due before midnight on Friday,
September 16.
-
Instructions for connecting remotely to the
Zoo are in handout
3 (.pdf).
-
Notes from today's lecture along with draft
copies of next week's lectures and demos are
available on the Lecture
Notes page.
-
TA office hours are posted below.
-
6 Sep. Click on Lecture Notes for links to the
first week of lecture notes and class demos.
-
1 Sep. Welcome to the CPSC 427a web site.
Look here for announcements and course materials.
-
[Old Announcements]