Announcements

Last modified: Tue Apr 13 17:52:29 EDT 2004

PP4 is now available
Check out the projects page!
Improved PP3.zip available
The Container.h file was missing an #include. This did not result in a compilation problem in the sample code because other files included the required file, but could potentially have resulted in failed compiles for your code.

This is the same problem that cropped up in the PP2.zip - I copied the wrong .zip file to make the PP3.zip. Sorry. If you notice any other problems, let me know.


PP3 is now available
Check out the projects page!
Topics for second exam
As promised, here is a list of topics, not necessarily complete or covering, which we have discussed since the second exam:
priority queue ADT and implementations (list-based, heap-based, binomial queue); red-black trees; hashing and hash tables (including separate chaining vs. open addressing, collision resolution (probing) strategies, clustering).

I am away (3/4 - 3/7)
I will be away at a conference Thursday (3/4) through Sunday (3/7). My office hours are cancelled, and I will not be reading the request tracker or the newsgroup. Teaching assistants will monitor the request tracker and the newsgroup Thursday and Friday. The TAs may monitor them on the weekend, but they are not required to do so. Please plan accordingly.
PP2: STL list class problem & workaround

It seems that there may be a bug in the STL list class. Fortunately, there seems to be an easy workaround.

The symptom is:

  "/opt/SUNWspro/WS6U2/include/CC/Cstd/./list.cc", line 351:
    Error: Too many arguments in call to 
    "std::list>::__adjacent_merge(
         std::list>::iterator,
         std::list>::iterator,
         std::list>::iterator)".
  "/opt/SUNWspro/WS6U2/include/CC/Cstd/./list", line 465:
     Where: While instantiating 
     "std::list>::sort(bool(*)(const int&,const int&))".
  "/opt/SUNWspro/WS6U2/include/CC/Cstd/./list", line 465:
     Where: Instantiated from non-template code.
The problem seems to crop up when passing the "-template=wholeclass" option to the CC compiler. To fix this, edit the makefile to change the line which reads
    CC = CC -template=wholeclass,extdef
so that it reads as follows instead:
    CC = CC -template=extdef
Let me know if you encounter any other issues with the list class.
Note about PP2 makefile capability
The makefile provided has the ability to make a zip file, ready to submit. Simply type 'make submitzip' and it will remove files which should not be submitted, and then zip up the PP2 directory and its contents, and deposit a PP2.zip file in the directory containing the PP2 directory.
Improved PP2.zip available
A new PP2.zip file is available, which you should download. It contains the following changes: Thanks to Sara Haydanek for pointing these problems.
Java solution to ReviewProject
I have not yet had a chance to re-write my Java solution to the review project in C++. I'd like you to be able to look at the design of the solution, though so here's the Java version. I will post a C++ version after the exam.
Topics for first exam
As promised, here is a list of topics, not necessarily complete or covering, which we have discussed since the beginning of term:
basic vocabulary; basic C++; pointers; templates; polymorphism; patterns (state; model-view-controller; visitor; singleton) abstract data types (ADTs); list ADT; LRStruct; big-oh notation; balanced trees (AVL, Splay).

Fall 2005 UTA position(s) available
We are now accepting applications to fill positions as undergraduate TAs in CSE 115 starting in Fall 2004.

Students interested in applying must minimally meet the following qualifications:

Undergraduate TA responsiblilites include (but are not limited to):

Applicants are asked to create a resume and also to write a no more that 250 word (i.e. - one page double spaced) response to the following question:

What is/are the thing(s) that you learned in CSE 115 that you (have used most often/found most important) as you progressed through the program?

You must place your resume, your response to the question above as well as a print out of the "My Grades & GPA" link from MyUB in the mailbox of Adrienne Decker no later than Friday, March 5, 2004. You must include your UB email address on your resume.

Suitable applicants will be called back for an interviewing process to determine a candidate's appropriateness for the position.

If you have any questions or need any additional information, please email Adrienne Decker at adrienne@cse.buffalo.edu with the subject line "CSE 115 UTA Information".


PP2 is now available
Check out the projects page!
Submit Inspector available
The submit inspector is now available on the resources page. The gradebook is there as well, but it not linked to any useful data source just yet.
Bug fix for GUI code
A student sent e-mail to cse-250-alphonce with the following observation:
student> from tcmdwin.cpp:
student>         case Key_add:
student>           {
student>                 cout<<"add pressed";
student>                 break;
student>           }
student>         case Key_sub:
student>           {
student>                 cout<<"subtract pressed";
student>                 break;
student>           }
student> 
student> 
student> When I press the add button on the calculator it keeps saying
student> "subtract press" I can't get the plus button to work at all. I just
student> tried redownloading the files and recompiling everything from
student> scratch. All i have modified to the original file is what you see
student> above, and included iostream, and using std::cout.
student> 
student> How can I fix this?
me> Thanks for catching this - it's my mistake.
me> 
me> If you go to line 110 of tcmdwin.cpp, you will see a line that looks
me> like this:
me> 
me> {C_Button,Key_sub,Key_add,"+",NoList,CA_Size,isSens,frm1,Key_equal,Key_sub,20,"plus"},
me> 
me> The second item in this structure, "Key_sub", should be "Key_add".
me> 
me> I will fix this in the zip file, and also post this notice to the
me> newsgroup and the announcements page of the web site.
The issue was that when the + key was pressed the code was reporting the same "event code" as for the - key, so pressing either button was handled by the "Key_sub" case. The change to line 110 results in Key_add being reported when the + key is pressed, as desired.

I have also fixed this in the ReviewProject.zip file in /projects/CSE250, so if you download a fresh copy this change will be there. It is probably easier, if you have already modified this code with your own contribution, to just edit line 110 as noted above.


Resources page updated!
I updated the Resources page. Check it out!
ADD-DROP deadline TODAY
Today (January 23) is the last day to add or drop courses.
Polymorphism: selection by type
I have posted a color-enhanced version of my newsgroup reply to the question about how to make decisions without if-else statements.
Review project GUI is available
The GUI for the review project is available. Check out the addendum for PP1 on the projects page.
Review project is posted
The review project (PP1) has been posted on the projects page.
Department is enforcing prerequisites
Please note that the department has started direct enforcement of prerequisites in this course. If you do not have the minimum required grade in all the prerequisite courses (CSE 116, CSE/MTH 191, and CSE142), or verifiable transfer credits, your registration in CSE 250 will be cancelled. You will receive an e-mail directly from Jaynee Straw in this case.
The 'cse-250-alphonce@cse.buffalo.edu' e-mail alias is working!
The 'cse-250-alphonce@cse.buffalo.edu' e-mail alias is working! You may have experienced problems in the past few days due to some configuration problems. These problems have now been resolved.
Welcome!
Welcome to the CSE 250 home page! Announcements to the class are generally posted to this page. Notices may be posted here and/or to the course newsgroup (sunyab.cse.250). You should check this page often (at least once a day) for updates.


Carl G. Alphonce