CSC148/A48 — General Announcements

  • Tue 17 Apr A4: Solution Posted

    Where the assignment was posted.

  • Fri 13 Apr A1: Solution Posted

    Linked from the "Assignments" page.

  • Tue 10 Apr A3: Solution Posted

    Where the assignment was posted.

  • Tue 10 Apr Mergesort Slides Posted

    In the usual place.

  • Tue 10 Apr Exercise Weeks 9 and 10 Solutions Posted

    In the usual place.

  • Mon 9 Apr A4: Announcements

    Just a note that if you avoid the bulletin boards because of information overload, you might at least find A4 "Important Topics" there useful.

  • Tue 5 Apr Exercise Week 12 Solutions Posted

    In the usual place.

  • Wed 28 Mar Assignment 4 One More Thing

    We removed the requirement to submit testing of measure.

  • Wed 28 Mar Assignment 4 Due Date Extended

    It's now due Monday Apr 9 at 5pm. Also, we've added some notes to the assignment meant to steer you towards the simplest approach. Also, part of it is the last exercise, to save you time and make sure you're on the right track.

  • Wed 28 Mar Week 12 Exercise Posted

    In the usual place.

  • Mon 26 Mar More Slides Posted

    In the usual place.

  • Sat 24 Mar Assignment 4 Posted

    In the usual place.

  • Fri 23 Mar Week 11 Exercise Postponed

    You're all busy with Assignment 3 :)#.

  • Mon 19 Mar A3: Announcements

    We've added some discussion of "How to approach the assignment", "What to document" and "Testing", based on discussions from the bulletin board.

  • Thr 15 Mar Week 10 Exercise Typo

    I forgot to escape the "<" and ">" around Integer in the html, (view the html source of this announcement or the exercise if you're curious) so your browser probably "ate" it as an unknown html tag. It's fixed now.

  • Wed 14 Mar Week 10 Exercise Posted

    In the usual place.

  • Mon 12 Mar Assignment 3 Posted

    In the usual place.

  • Sun 11 Mar More Slides Posted

    In the usual place.

  • Sun 11 Mar E9: Some Notes

    Inspired by the bulletin board discussion. Where the exercise was posted.

  • Sun 11 Mar E5: A Tester Posted

    Where the exercise was posted.

  • Sun 11 Mar E4: A Tester Posted

    Where the exercise was posted.

  • Wed 7 Mar Next Exercise Posted

    In the usual place.

  • Sun 4 Mar A2: More Announcements

    Technically they're bulletin board posts, but they're probably of general interest: See the recent topics "Legend content and formatting", "Testing floating-point values" and "Domain of value(), integral() and derivative()".

  • Sun 4 Mar Week 8 Lab Moved to Week 9

    Like the subject says.

  • Sat 3 Mar A2: Announcements

    Prof. Jansen has been maintaining the announcements and updates for her assignment on her Assignment 2 site.

  • Fri 2 Mar Next Exercise Due Date

    It will be due at the beginning of Week 9 instead of Week 8.

  • Mon 19 Feb Previous Midterm Tests and Exams

    Available from the new "Test and Exam" page.

  • Sun 18 Feb E6: Solutions Posted

    Where the exercise was posted.

  • Sun 18 Feb E5: Solutions Posted

    Where the exercise was posted.

  • Sun 18 Feb E4: Solutions Posted

    Where the exercise was posted.

  • Sat 17 Feb A0: Solutions Posted

    Where the assignment was posted.

  • Wed 14 Feb Assignment 2 Posted

    In the usual place.

  • Fri 9 Feb Tracing and Linked List Slides Posted

    In the usual place.

  • Fri 9 Feb E6: Typos!

    There were three typos in the comments, all fixed now: The comments about "The recursive call" in "sn" and "sHelper" should of course refer to those methods (not "sk" as it did before), and the condition "1 <= next^2" should just be "1 <= next".

  • Thr 8 Feb E6: Answer to a Student Question

    For Questions 3 and 4, do we have to accumulate the result in sumSoFar, doing all the computation "on the way in" by passing the updated value as an argument?

    If you are asking that question (or understand it), you probably will have no trouble doing it that way and should. That's the spirit of those questions, and is also what "recursing on sumSoFar" means and the name "sumSoFar" suggests. Strictly speaking Question 4 wasn't phrased in a way that requires this approach, so we'll accept other approaches. But if you have trouble doing it the intended way, or don't even understand the intended way, it's more important that you learn the intended approach in this simple situation: more difficult versions (also worth more marks) are coming up on the midterm, later assignments and/or exam.

  • Tue 6 Feb Next Exercise Posted

    In the usual place.

  • Mon 5 Feb A1: More Answers to Student Questions

    Which CheckStyle violations should we "fix"? Use CheckStyle only to help you think about and notice potential style problems. Use your judgement about which of those are real style problems and how to fix them.

    How do we use install and use CheckStyle? There's been some discussion on the bulletin board. And Prof. Jepson has some information on the CSC 150 site at the bottom of the Java Resources page.

  • Sun 4 Feb A1: More Answers to Student Questions

    I have a case that isn't covered by the code comments, specification and sample testing: what do I do? Consider this a case of "sometimes you'll need to make an intelligent extrapolation on your own". Add a description of the behaviour you're providing in that case, or precondition excluding that case, to the appropriate method header(s).

  • Sun 4 Feb A1: Answers to a Few Student Questions

    I've heard that for find we can assume an element occurs at most once in the stack: is that right? It should require little effort to make sure it behaves according to the new more detailed comment. If you have any difficulty with that it's probably a sign of more siginificant issues. But since some students have been told they can rely on it, you may assume we'll test it without duplicate elements.

    How did the updated code last week change? It mainly tightened some specifications and clarified some wording, in most cases simply including information already available in the description and implicitly in the sample tester. The change to Phone's equals method makes things easier for you: code that worked before should still work, and code that might have gone wrong in subtle ways before should now work. The parameter name change in the two Strategy classes has no effect on code using it.

    What's a precondition? It's something you may assume when writing the method. It makes it easier for you when writing it. You don't do anything special when the precondition is violated by the caller: it's not your responsibility.

  • Thr 1 Feb E5: Answers to a Few Student Questions

    Do we have to use all the variables? No. The restriction is that you can't use any other variables.

    What is LinkedList? Short answer: it's in the Java API. So decide what you want to do with it, and look through the methods for one(s) that let you do that. Longer answer: it implements the Java API List interface. It and ArrayList are two implementations with different space and time efficiency (exactly what we've been using interfaces for with queues and stacks), so you can treat it the same way you've been treating ArrayList in the lab and A1. If you didn't understand the significance of interfaces vs classes in E4, this is another opportunity: in the copying methods, why do we use an interface for the parameter, but a class for the return value and type? Actually, the return type could be just List, and that might be better, but is not as important as using the interface to specify the parameter: why?

    How will the exercise be marked? Each method will be automarked separately, and checked to make sure the internal rules were followed. But make sure the whole class you submit compiles: either remove the methods you couldn't do, or have them return dummy values (easiest for you might be null if returning a reference). We'll test the empty case, and a typical case. This is pretty standard testing, but more importantly corresponds to the two parts you fill in. I don't see any other possiblities for part marks: each "FILL THIS IN" requires no more than a few lines of code, and you either understand it or are guessing.

  • Thr 1 Feb E5: Submission Instructions Posted

    Similar to last week. See the "Exercises" page.

  • Wed 31 Jan A1: Clarifications and Updates

    The Specification was updated to reflect the accidental posting of SearchableStack, which you don't hand in. Comments were fleshed out in some of the starter code. And Phone's equals method was updated to override (not overload) the one in Object. Please use the latest versions now linked directly from the "Assignments" page.

  • Mon 29 Jan This Week's Exercise Posted

    On the "Exercises" page.

  • Mon 29 Jan Recursion Slides Posted

    On the "Syllabus" page.

  • Sat 27 Jan Exercise Week 4: "Can We Assume the Queues Are Circular?"

    That question mixes up behaviour and implementation. The queues behave like queues: elements go in one end and come out the other. If you still think you need to know, write code that uses the given queue operations (enqueue, dequeue and size()) and explain how you think the results would differ depending on whether the queue is circular or not.

    If the numbering mentioned in the header comments for reverse is bothering you, again you're mixing up behaviour and implementation. That numbering is independent of any numbering used internally. If s refers to an instance of a class implementing Stack<String>, then E.reverse(s,0,1); reverses the top two elements (last two pushed if there was no pop inbetween), just like the header comment says. Whether those elements are stored in an array inside and whether they have index 0 and 1 in that array is irrelevant to the user of reverse. Review information hiding and encapsulation from A08/108.

  • Fri 26 Jan Exercise Week 4: Submission Instructions Posted

    On the "Exercises" page.

  • Thr 25 Jan Exercise Week 4: Submission

    This one will be submitted electronically. Details to be posted tomorrow on the "Exercises" page.

  • Thr 25 Jan Exercise Week 4: Typo

    Fixed an "Object" declaration we missed when changing Stack to a generic interface.

  • Thr 25 Jan Assignment 1 Posted

    On the "Assignments" page.

  • Wed 24 Jan A0: Question 3 Example Diagram — Now with Arrows!

    On the "Assignments" page.

  • Wed 24 Jan A0: Question 3 Example Diagram Added

    On the "Assignments" page.

  • Tue 23 Jan This Week's Exercise Posted

    On the "Exercises" page.

  • Mon 22 Jan Course Bulletin Boards Available

    Linked from "All Campuses — Bulletin Board". UTSC and StG students can post: use your computer lab login name, with student number as password.

  • Mon 22 Jan Posted Reminder about Plagiarism

    On the "Assignments" page.

  • Sun 21 Jan Week 2 Lab 1 Posted

    On new "All Campuses — Labs" page.

  • Sat 20 Jan A0: Three Question 2 Part A Updates.

    Comment typo: "a.length" changed to "p.length". Comment clarification: that the sort order of the pieces is the same as for the desired result. Code: made the method static, which is better design but has no effect on the question.

  • Wed 17 Jan New Syllabus Page

    Added "Syllabus" page (linked from the menu at the left) with links to some course material.

  • Wed 17 Jan Assignment 0 Posted

    On the "Assignments" page.