Software 1
Spring 2004



  • Assignment 5 has a small typo. In the section that describes the makefile, please ignore the sentence that requires to make gen ('make gen'), as gen is a script, and should not be made.
  • If the signature calculated by your photo program was correct, and was only missing the padding with 0's, please send an email message to tochna1@post.tau.ac.il with the subject: Software 1 - 0 padded signature.
    You will get back the 25 (or 12.5) points reduced from your auto grade, and 5 points will be taken of your manual grade.
  • There was a typo in practice12 in the make example. The statement below assigns the first file name in $(CSOURCES) after its suffix is removed to the TARGET variable:
    TARGET = $(firstword $(CSOURCES:.c=))
  • Assignment 5 has been published on May the 26th ahead of its official assigned date to allow early access. It is optional. If you submit it on time, it will be taken into account only if is increases your final grade.
  • Assignment 4 - I've cleaned up the output files, so that they don't have empty lines, and they do have a new-line char. at the end of the file. The auto script ignores empty lines and all white spaces when it compares results, but if you want to match your results precisely anyhow, you may remove the excess '\n' in the first printf() in print_children().
  • Assignment 4
    • In this assignment you have the freedom to change the code distributed. You can declare graph_int() as a function that returns int or as function that returns void (but not both, which is what we did by mistake). A similar argument holds for the bfs() function. We have fixed the declaration of graph_init() and bfs() in bfs.h to match the use of these 2 functions in bfs.c, so feel free to download the updated version.
    • The type List that appears as a type of a variable in the function print_children() should be Children_list (and not Neighbors_list as I wrote earlier).
    • There is a typo in the assignment sheet in one of the examples. The command line syntax is:
      bfs root filename
  • Instructors
    1. Prof. Dan Halperin, 0368-2157-08, course page
  • Practice
    Practice IdTime and DayLocation
    0368-2157-11Sunday, 10:00-11:00Schreiber 006
    0368-2157-09Sunday, 11:00-12:00Schreiber 006
    0368-2157-10Sunday, 12:00-13:00Schreiber 007
    0368-2157-12tuesday, 15:00-16:00Shenkar 222
  • TA Office hours
    NameTime and DayLocation
    Efraim FogelTuesday, 14:00-15:00Computational Geometry Lab. Schreiber basement 18
    Greta YorshSunday, 16:00-17:00Schreiber openspace (basement)
  • Assignment submission guidelines.
  • Software 1 forum
  • Enroll to the hands-on session (even if you have sent an email message, you still need to enroll). Notice that the Monday session was dropped, and a session on Thursday is available instead.
  • On the second week of the semester Yaniv and Alon, two of the system administrators, will conduct hands-on sessions in Schreiber 04, one of the computer labs. in the Computer Science school about all kind of system related issues relevant to this course. There will be three identical sessions between 15:00 - 17:00 on Tue., Wed., and Thu. (9/3, 10/3, 11/3). There won't be any other practices during this week. Each of you must attend one of the sessions after creating acocounts on the Unix and Windows systems. Follow this link to enroll to one of the sessions.
  • Those of you who implemented a solution to the maxbin2eng (ex. 1.5) for a large-number input, please send an email message to tochna1@post.tau.ac.il with your username. A bonus of 10 points will be added to the total grade of the assignments (as long as it doesn not exceed 100%)
  • The due date of assignment 2 has been postponed. The new deadline is Sun. Apr. 25th midnight.
  • A few clarifications regarding assignment 2:
    • palindrom
      • It is ok to scan in not more than 80 characters (regardless of whether they are spaces, alphabetic, etc.)
      • Do not disregard numeric characters. (The original text was ambivalent). For example, "a123a" is not a palindrom.
      • Strings that consists of non alpha-numeric characters, including the empty string are palindroms.
    • dice
      • The count (within the parentheses) should not be truncated! Use "%5d" as the formatting string to print it out.
    • det
      • Each matrix row does not necessarily end with a '\n', and you certainly don't have to verify it. (Simply scan in n2 integers.)
    • rec_string
      • It is ok to use one function in the implementation of another.
  • We remind you to make sure your code compiles without any warning.
  • Due to popular demand, the due date of assignment 3 has been postponed. The new deadline is Sun. May. 16th midnight. This delay will have no effect on the deadline of assignment 4 already posted, as the schedule is tight, and there is another assignment (5) already in the pipe.
  • More about assignment 3:
    • The width (and height) of the scaled image is the integer value rounded down (simply the results of casting the appropriate quotient).
    • When the 'cubic' method is applied (through the '-s cubic' option), no automatic check will be done. If the cubic methid is applied and your signature matches one of the 2 published signatures, then your code is probably correct. If your signature differs, it doesn't necessarily mean that it wrong.
    • If the scale factor is 1, and the cubic method is selected, the image may change, as the operation is applied the same way it is applied with any other factor greater than 1.
    • I was asked to add a test case that scales down an image using the nearest method with scale factor 1.89. You can find it in the ususal place (Let me know in case I failed to remember the requested factor correctly).
  • Regarding assignment 3:
    • There are 7 test cases available at the regular place including a test that tests scaling with 1.5 factor for each method.
    • Apparently the signature of an image scaled with the cubic method can be calculated in 2 slightly different ways, and still conform to the instructions. I've published an alternative signature see (1_1.out and 1_2.out). If we find more ways, we may decide to drop the auto. test for these cases, but for now both are acceptable.
    • If an option appears more than once in the command line, only the last occurrence counts. This means for example, that an image cannot be reflected vertically and horizontally at the same time, but it can be scaled and reflected, and there is a new test case that does that.
    • If the '-f' option is present in the command line, but the '-s' option is missing, then the program should not scale the image, essentially ignoring the provided factor. It is not considered an error!
    • The GLUT library for windows can be downloaded from here. On Linux it comes by default, but if you need it after all, it can be obtained from here.
  • The output of test cases of the photo exercise originaly published where wrong. I've reproduced them on Thu. May. the 22nd at 20:43 (the tar file is updated as well).

Maintained by Efi Fogel. Last modified: June 08 2004.