Computer Science 1704 Intro to Data Structures & Soft Eng

## CS 1704 Announcements

May 7 Final Course Grades

 Grades Course grades with Final Exam scores have been uploaded to the WebCT Quiz system. To view their grades students should log on to the CS 1704 WebCT course Web sub-site and click on the records button. The course grades are based upon the following weights: Test 1 = 10%, Test 2 = 10%, Final = 25% P0 = 5%, P1 = 10%, P2 = 15%, P3 = 15% HW = 10% To compute your average use the following formula (and sum all the points): Test 1 points = (Test 1 score) / 100 * 10 Test 2 points = (Test 2 score) / 100 * 10 Final points = (Final score) / 100 * 25 P0 points = (P0 SARS score) / 100 * 5 P1 points = (P1 CARS score) / 100 * 10 P2 points = (P2 DARS score) / 100 * 15 P3 points = (P3 LARS score) / 100 * 15 HW points = (HW average) / 100 * 10 Sum the above points to get your current Average out of 100 possible points. The Curved scores do contain the application of a Krider curve with an alpha = 0.15. Your Curved score: = 0.15 * (100 - (current Average points ) ) + (current Average points ) The Homework average was computed upon the 10 highest quiz scores. The overall course average is a 81.

 Summer I hope everyone enjoyed the class. Have a happy summer.

May 2 Updated Grades, Final Exam

 Grades Updated grades with P3 LARS scores and home work averages have been uploaded to the WebCT Quiz system. To view their grades students should log on to the CS 1704 WebCT course Web sub-site and click on the records button. The course grades are based upon the following weights: Test 1 = 10%, Test 2 = 10%, Final = 25% P0 = 5%, P1 = 10%, P2 = 15%, P3 = 15% HW = 10% To compute your average use the following formula (and sum all the points): Test 1 points = (Test 1 score) / 100 * 10 Test 2 points = (Test 2 score) / 100 * 10 Final points = (Final score) / 100 * 25 P0 points = (P0 SARS score) / 100 * 5 P1 points = (P1 CARS score) / 100 * 10 P2 points = (P2 DARS score) / 100 * 15 P3 points = (P3 LARS score) / 100 * 15 HW points = (HW average) / 100 * 10 Sum the above points to get your current Average out of 75 possible points. The Curved scores do contain the application of a Krider curve with an alpha = 0.25. Your Curved score: = 0.25 * (100 - (current Average points ) / 75 * 100) + ((current Average points ) / 75 * 100) The Homework average is computed upon the 10 highest quiz scores. The current course average is a 78.

 Common Time Exam (CTE) The final exam for CS 1704 is a common time exam, (not held at the regular lecture time scheduled exams). The CS 1704 CTE will be held on Friday May 3rd from 4:25-6:25pm in Torgerson 2150.

April 27 GTA lab hours: 4/29 - 5/1

 Since all of the programming for the course is complete, the GTAs will NOT be holding lab hours the last three days of classes.

April 26 P3 LARS Evaluations

 P3 LARS Evaluations The TA SE/Doc demo evaluations for P3 have been emailed as attachments. If you submitted and demonstrated P3 and did not receive an evaluation please contact me.

April 24 Quiz 12: Sorting & Searching

 HW Quiz 12 Quiz 12 on Sorting and Searching has been activated it must be submitted by Wednesday May 1st by 23:55pm, (the last day of classes).

April 22 Final Exam

 Common Time Exam (CTE) The final exam for CS 1704 is a common time exam, (not held at the regular lecture time scheduled exams). The CS 1704 CTE will be held on Friday May 3rd from 4:25-6:25pm in Torgerson 2150.

April 19 Quiz 11: Algorithm/Complexity Analysis

 HW Quiz 11 Quiz 11 on Algorithm/Complexity Analysis has been activated it must be submitted by Friday April 26th by 23:55pm.

April 17 Test 2 Reports, Exams and Key

 Test 2 Key Form A The Key for form A for the first test is now available. The exams, (form A and form B), are also available. A mapping of the Form A to Form B questions is also available.

 Test 2 Reports The Test 2 reports have been mass emailed to students as attachments. The report attachment is a text file containing your responses on test 2. Form A is indicated by a zero and form B by a one. Your marked response and the correct response are listed. The number of correct responses and your score is listed at the bottom of the report.

April 15 P3 LARS Tues. Demos

 CS Lab Closed Tues. April 16 The McBryde 116/118 lab will be closed on Tuesday April 16. All students who have scheduled a demo on this date will need to reschedule. Either reschedule your demo for next Tues. at the same time or later in the week. Remember that the P3 LARS archive must be submitted no later than midnight tonight. There are NO LATE submissions for the last project. The tenth homework quiz must also be submitted by 11:55PM tonight.

April 12 Harlem Wizards

 Harlem Wizards The Harlem Wizards a professional entertainment basketball team will be at Va Tech this coming Tuesday April 16th. Admission is free for students, but you must pickup a free ticket at the Squires Ticket Office. The game is at Cassel Coliseum at 7:30pm. Information about the game is available from the Va Tech Union web site. Your instructor has foolishly agreed to play. Some CS majors have had a running discussion going about the game and my participation on the Off-Topics discussion board thread.

April 11 Test 2 Scores, P3 LARS

 Grades Updated grades with test 2 scores have been uploaded to the WebCT Quiz system. To view their grades students should log on to the CS 1704 WebCT course Web sub-site and click on the records button. The course grades are based upon the following weights: Test 1 = 10%, Test 2 = 10%, Final = 25% P0 = 5%, P1 = 10%, P2 = 15%, P3 = 15% HW = 10% To compute your average use the following formula (and sum all the points): Test 1 points = (Test 1 score) / 100 * 10 Test 2 points = (Test 2 score) / 100 * 10 Final points = (Final score) / 100 * 25P0 points = (P0 SARS score) / 100 * 5P1 points = (P1 CARS score) / 100 * 10P2 points = (P2 DARS score) / 100 * 15P3 points = (P3 LARS score) / 100 * 15 HW points = (HW average) / 100 * 10 Sum the above points to get your current Average out of 60 possible points. The Curved scores do contain the application of a Krider curve with an alpha = 0.25. Your Curved score: = 0.25 * (100 - (current Average points ) / 60 * 100) + ((current Average points ) / 60 * 100) The Homework average is currently the average of the first eight quizzes. The average on the second test was a 65 and the current course average is a 79. Test reports will be emailed when a key for test 2 is posted sometime early next week.

 Programming Assignment 3 The fourth programming project is now being accepted by the Curator. It must be submitted no later than Monday April 15, 23:59:59. There are NO LATE submissions for the final project.

Programming Assignment 3 Demos

The signup sheets for the P3 LARS demos are available in the CS lab. If you submit LARS and want it to be graded, you MUST schedule a demonstration session with your assigned TA.The demos will begin on Monday 4/15 and must be comepleted by Wednesday April 24. To determine which TA you are assigned to demo, locate your PID in the list below:

 TA PID range Amit Kulkarni (AK) aamico  ... ebull Baoping Zhang (BZ) epais   ... mpalermo Kumar Muthukumar (KM) mpfeil ... zegolf

The demos will be held during the TAs lab hours (beginning Monday 4/15 and ending Wednesday 4/24). You may sign up to demo during the TAs office hours:

 TA Lab Hours Amit Kulkarni (AK) 11-2 Mon; 2-9 Tues; 11-1:30 Wed; 2-4:30 Thur Baoping Zhang (BZ) 1-4 Mon; 2-4 Tues; 10-1 & 2-5 Wed; 2-4 Thur; 10-12 Fri Kumar Muthukumar (KM) 10-1 & 4-6 Mon; 10-12 Tues; 10-1 Wed; 10-12 Thur; 10-1 Fri

Demos are scheduled for 15-minute time slots. You should arrive at the McBryde 116/118 lab early, secure a machine for your demo, log on and notify the TA that you are ready to demo. Be aware that some demos may take more than 15 minutes, so if possible don't schedule one right before one of your classes.

April 8 Quiz 10

 HW Quiz 10 Quiz 10 on stacks & queues has been activated it must be submitted by Monday April 15th by 23:55pm. (Which is also the due date for the last program.)

April 2 P2 Evaluations, Grades Update

 P2 DARS Evaluations The TA SE/Doc demo evaluations for P2 have been emailed as attachments. If you submitted and demonstrated P2 and did not receive an evaluation please contact me.

 Grades Updated grades have been uploaded to the WebCT Quiz system. To view their grades students should log on to the CS 1704 WebCT course Web sub-site and click on the records button. The course grades are based upon the following weights: Test 1 = 10%, Test 2 = 10%, Final = 25% P0 = 5%, P1 = 10%, P2 = 15%, P3 = 15% HW = 10% To compute your average use the following formula: Test 1 points = (Test 1 score) / 100 * 10 Test 2 points = (Test 2 score) / 100 * 10 Final points = (Final score) / 100 * 25 P0 points = (P0 SARS score) / 100 * 5 P1 points = (P1 CARS score) / 100 * 10 P2 points = (P2 DARS score) / 100 * 15 P3 points = (P3 LARS score) / 100 * 15 HW points = (HW average) / 100 * 10 Sum the above points to get your current Average out of 50 possible points. Your Curved score = (current Average points ) / 50 * 100. The Curved scores do NOT contain the application of a Krider curve. The Homework average is currently the average of the first eight quizzes.

 Test 2 The second test will be held on Monday April 8th in class. It will be a approx. 25-30 question multiple choice test. Time will be available in class on Friday, April 5th to ask questions about the last two second test koofers. I have composed the list of learning objectives/review for the second test material.

March 28 Quiz 9, Schedule Update, Test 2

 HW Quiz 9 Quiz 9 on recursion has been activated it must be submitted by Friday April 5th by 23:55pm.

 Schedule The schedule has been updated to reflect the current course coverage of topics.

 Test 2 The second test will be held on Monday April 8th in class. It will be a approx. 25-30 question multiple choice test. Time will be available in class on Friday, April 5th to ask questions about the last two second test koofers. I have composed the list of learning objectives/review for the second test material.

March 21 Free Tutoring

 UPE Tutoring Structs got you down? Linked Lists just a little too confusing? Can't find that dangling pointer? What exactly are templates and polymorphism used for? Want to know how to implement a B* Tree or a buffer pool? Does this programming stuff ever get any easier? Do you have questions like these? Are you not able to make your professors office hours? UPE (Upsilon Pi Epsilon) the Computer Science honor society offers a FREE tutoring service for all 1000 and 2000 level CS classes every Monday at 5:00 in McBryde 133 (the CS lounge - Next to the elevator). If you have any question about concepts that you do not understand, or just want to ask about life in CS, come and ask some of the students that have been through it all before. If you have any questions feel free to email me at damyers2@vt.edu. Hope to see you all there, ~David Myers UPE Tutoring coordinator UPE Tutoring When: Monday nights at 5:00. Where: McBryde 133 (the CS lounge next to the elevators) Who: You and some of your peers who have experienced through all of these problems before.

March 13 P3 LARS Spec, Homework Quizzes (6 & 7) Due Date Change

 Programming Assignment 3 The fourth programming project specification is now available. The curator is NOT currently accepting submissions for the P3 interim design and the P3 project submissions.

 HW Quizzes 6 & 7 The due date for Quiz 6 has been changed to Monday 3/18 23:55pm and the due date for Quiz 7 has been changed to Friday 3/22 23:55pm.

March 11 P2 Evaluations, Homework Quizzes, Movie Night

Programming Assignment 2 Demos

The signup sheets for the P2 DARS demos are available in the CS lab. If you submit DARS and want it to be graded, you MUST schedule a demonstration session with your assigned TA.The demos will begin on Monday 3/18 and must be comepleted by Wednesday March 27. To determine which TA you are assigned to demo, locate your PID in the list below:

 TA PID range Amit Kulkarni (AK) aamico  ... ebull Baoping Zhang (BZ) epais   ... mpalermo Kumar Muthukumar (KM) mpfeil ... zegolf

The demos will be held during the TAs lab hours (beginning Monday 3/18 and ending Wednesday 3/27). You may sign up to demo during the TAs office hours:

 TA Lab Hours Amit Kulkarni (AK) 11-2 Mon; 2-9 Tues; 11-1:30 Wed; 2-4:30 Thur Baoping Zhang (BZ) 1-4 Mon; 2-4 Tues; 10-1 & 2-5 Wed; 2-4 Thur; 10-12 Fri Kumar Muthukumar (KM) 10-12 & 4-6 Mon; 10-12 Tues; 10-1 Wed; 10-12 Thur; 10-12 Fri

Demos are scheduled for 15-minute time slots. You should arrive at the McBryde 116/118 lab early, secure a machine for your demo, log on and notify the TA that you are ready to demo. Be aware that some demos may take more than 15 minutes, so if possible don't schedule one right before one of your classes.

 Homework 6 & 7 (Linked-List Mechanics Quizzes The due date for the next quiz, HW 6, is Friday March 15th, 23:55 and the due date for the following quiz, HW 67 is Monday March 18th, 23:55.

 G33K MOVIE NIGHT McBRYDE 100, Thursday, March 14, 2002, 6:00-8:00 p.m., Pizza and Sodas Provided Feature: Monty Python and the Holy Grail As part of an attempt to build a strong computer science community, the ACM, AWC, and UPE will be presenting Monty Python and the Holy Grail for your enjoyment and entertainment this Thursday at 6:00 pm in MCB 100. Come out and join us for a great time and bring every CS major you know! Questions? contact: Christopher Williams chwilli4@vt.edu

March 7 P2 DARS Test and Demo Data

 P2 DARS Test Data Sets Two sets of test data for P2 DARS has been posted. The third set will be the data files used for the lab evaluation demonstrations. The solutions for the demo data will be posted after the due date.

March 1 P1 Evaluations

 P1 CARS Evaluations The TA SE/Doc evaluations for P1 have been emailed as attachments. If you submitted P1 and did not receive an evaluation please contact me.

Feb. 28 Test 1 Key and Reports

 Test 1 Key Form A The Key for form A for the first test is now available. The exams, (form A and form B), are also available. A mapping of the Form A to Form B questions is also available.

 Test 1 Reports The Test 1 reports have been mass emailed to students as attachments. The report attachment is a text file containing your responses on test 1. Form A is indicated by a zero and form B by a one. Your marked response and the correct response are listed. The number of correct responses and your score is listed at the bottom of the report.

Feb. 21 Grades, P2 Interim Design Date, HW 5 Quiz Date

 P2 Interim Design Date I have decided to give you a couple more days to complete interim design structure chart for P2 DARS. The new due date is Wednesday, Feb. 27, by midnight.

 Homework 5 (Separate Compilation Quiz) I have also decided to change the due date for the next quiz, HW 5, to Friday March 1st, 23:55.

Feb. 18 P2: DARS specification updated

 Programming Assignment 2 The third programming project specification has been updated slightly. I forgot to include a new command for the actions file. The changes are highlighted in yellow.

 Fall 02 Summer Pre-registration Advising The CS Dept. advising meeting for all first year freshmen will be held this Wed. (2/20/02) at 5:30 in Torgerson 3100.

 Computer Science Career Night The Eleventh Annual Computer Science Career Night will be held on Monday Feb. 25 in Squires Studeent Center in Colonial Hall from 6:00 - 7:00 and in the Commonwealth Ball Room from 7:00 - 9:00.

Feb. 16 P2: DARS specification available

 Programming Assignment 2 The third programming project specification is now available. The curator is currently accepting submissions for the P2 interim design and the P2 project submissions.

 Test 1 The first test is on Monday. Students should bring No. 2 pencils to complete the opscan. The test is closed book, closed notes. No calculators or other electronic devices may be used during this test. Students will not be allowed to use any blank paper to take the test.

Feb. 14 Due Dates

 P0 SARS Evaluations The TA SE/Doc evaluations for P0 have been emailed as attachments. If you submitted P0 and did not receive an evaluation please contact me.

 Test 1 The first test is on Monday Feb. 18 in class. It is a 25 question multiple choice test. (I have decided NOT to include questions about Separate Compilation and Deep Copying on the first test.) Time will be available in class on Friday to ask questions about the last two first test koofers. I have composed the list of learning objectives/review for the first test material.

 P2 DARS The spec should be posted some time this weekend.

 Programming Assignment 1 Just a reminder, the Due date for CARS is tomorrow Friday Feb. 15.

 Homework Quizzes Quiz 3 is due tomorrow Friday Feb. 15 and Quiz 4 is due Monday Feb. 18. Both are on pointers and are a good way to prepare for the first test.

Feb. 7 P1: CARS curtaor submissions

 Programming Assignment 1 The Curator is now accepting submissions for the second programming project. More P1 CARS data sets are available for testing.

Feb. 4 Interim Structure Chart Due: 23:59:59 Tonight

 EVE: Free Vector-based Drawing Program: Advice Barry Kauler, the author of EVE, a free vector graphics editor has contacted me to points out that "EVE does a better job with EMF rather than WMF. So try EMF for your Word imports if your're using EVE. He also recommended "SVG, the new open standard for vector graphics, as it is very sophisticated and the result is much more predictable than WMF/EMF.You need to install the Adobe SVG Viewer for your web browser, and SVG graphics can be inserted as objects in MS Word and other windows apps. EVE can export to SVG, but it costs \$2 -- see site www.myeve.org. I have experimented with WMF/EMF on many different apps, and diagrams can look different than intended or as they looked when originally designed. Whereas SVG is exact always."

 Flow LT 4.0: free Vector-based Drawing Program Designed for business diagramming, Flow LT should be very adaptable for Structure Chart creation.

 Dia : Yet Another Free Vector-based Drawing Program Dia, a free vector graphics drawing tool, very popular under UNIX, has been ported to MS Windows. I would encourage you taking a look at it.

02 02 02 WebCT On-line Quizzes Available

 Homework Quizzes The first two homework quizzes are available on-line. The first must be completed by 11:55PM Friday Feb. 8th. and the second must be completed by 11:55PM Monday Feb. 11th. Students should read through the short WebCT quiz tutorial before taking the quiz.

Jan. 25 P1: CARS specification available

 Programming Assignment 1 The second programming project specification is now available.

Jan. 21 SARS Curator Activation, Drawing Apps

 Programming Assignment 0 The Curator (Auto-Grader) is now accepting submissions for P0 SARS. Two additional sample test data sets are available for download for the first programming project.

 Free Vector-based Drawing Programs Need a drawing program for your structure charts? EVE, a free vector graphics editor. Zoner Draw 3 is a free vector drawing program. Dia, a Visio-like program, a free graphics drawing program. Make sure you can paste/import the drawings into MS Word as vector drawings (NOT bitmaps). You may have to save the drawing into a vector based file format, (i.e. `wmf, cdr`), and then import it into Word.

## CS Dept. force-adds

The CS dept. has completed processing all force-adds for CS 1704. Students who requested a force-add should check on Hokie Spa to determine if they were added to the course.

Jan. 11 Pre-Meeting Announcements

 Programming Assignment 0: SARS The first programming project specification is now available.

 Course Notes The course notes will soon be available for purchase from A-1 Copies in Univ. Mall. The online version may change as the semester progresses. Please be aware that students who choose to purchase the hard copy version are responsible for keeping up with the course note changes. Alterations will be pointed out in lecture only. There will be no online posting of notices that detail course note changes.

 First Class Mandatory Attendance CS 1704 has a required first class meeting attendance policy. Any student who does not attend the first class meeting and mark their name off of the class roll will be dropped. Please contact your instructor if you fail to attend the first class meeting.

 Course Agreement Form & Prerequisite Form The CS 1704 course agreement form and prerequisite form must be signed and returned at the second meeting of the first week of classes. Hard copies will be passed out at the first class meetings.

 Force-Adds to CS1704 CS 1704 is restricted to CS majors only in the Spring 2001 term. Non-Cs majors cannot be added to CS 1704. CS students wishing to force-add should attend the first calss meeting and complete a CS Dept. force-add form. Force-add decisions will be made by the CS Dept., NOT the instructor. The CS Dept. has posted a web page regarding questions about CS force-adds.

 CS Lab Accounts Students who have not had a CS computer lab, (McB 116/118) account in the last year will need to apply for an account on-line. (If you have had a CS lab account in the last year it should still be active and available.) Accounts will be needed for program demonstrations, TA programming help and development.

This Web site is always under construction. Some links may be currently inactive or invalid. They will be updated as the semester progresses.

### Common Programming Mistakes

Here are some of the most common programming errors from assignments from past terms. These poor habits and many others are discussed in the departmental guidelines documented in the "Elements of Programming Style". Please try and avoid these poor programming habits:

• Constants were not used or employed throughout the program.
• Sloppily drawn structure charts.
• Forgot to destroy lists before exiting
• Poor documentation (no in-line comments, no description of functions and their parameters).
• Inadequate distinction and naming of the control/data parameters in the initial/final structures charts.
• Missing confirmation of close/quit
• Didn't check for non-existant files, ... and opened non-existant files!
• Calling the file existance function, but failing to check its return value, assuming the file always existed.
• A lot of programs allow viewing of non-opened files and crashed, (run-time error),
• Missing headings for results/decode/key files
• Subtle bugs in scrolling
• Most programs didn't react correctly for illegal keys either, doing something but, not giving the warning message and ignoring the illegal key.
• In the main/open menus many programs just quit without any message in case of illegal keys
• Some projects had the structure template in the .cpp file and not in the respective header file(s). It is better to have the structure template (typedef struct {}) in a header file and have a declaration for this structure where ever it is needed.
• Use of many if statements instead of using a switch statement.
• Failure to use an enum type when appropriate, (e.g., as labels for a switch statement).

Top 10 reasons to be taking CS 1704:

```10: Unlike Michael Vick, (and Andre Davis), you don't like your chances of being drafted in the first round. 9: The thought of CS 1704 @ UVA makes you hurl. 8: Gilligan's Island is all that's on the bube tube during lecture. 7: Designing cool Web pages is not a career choice. 6: Like the 1999 Xmas episode, this course won't kill Kenny. 5: Barnette thinks he's cool, (he's a legend in his own mind). 4: Becoming a COBOL programmer for the Y3K problem doesn't make your belly-button pucker. 3: Need to learn how to remove Web browsers from OS's for possible future employer. 2: Recursion has always interested you, Recursion seems really cool, Recursion kicks butt, Recursion is a chance to do recursion, ..... #1: You didn't plan on having a life this term anyway :)```

### Microsoft Visual C/C++ ->

The required system for development and execution in this course is Microsoft Visual C/C++ under MS Windows 2K/NT in the CS Computer Lab in McBryde 116/118..

### Adobe Acrobat® PDF Documents

The bulk of the documents for this course will be in the Adobe Accrobat PDF (Portable Document Format) format.
There are several ways to get the Adobe Acrobat Reader:

1. Download it from the VT library.