Software Tools
CSE-2031
Winter 2009
York University


Semester: Winter 2009
Course/Sect#: CSE-2031
Time: Tue 10:00am-11:30am
Thu 10:00am-11:30am
Location: TEL 0006
Instructor: Aijun An
Office: CSB 2048
Office Hours: Tue and Thur: 3:00pm - 4:30pm
Phone #: 416-736-2100 x44298
e-mail: aan@cse.yorku.ca


Welcome to the Software Tools course, CSE-2031, for Winter 2009. Materials, instructions, and notices for the course will accumulate here over the semester.


Message Board

June 7, 2009
Grades are posted. You can check yours using ePost.
June 2, 2009
Marks for Lab test 2 are posted. You can check yours using ePost. The test cases that we used to test your programs can be found here. The differences between the output of your program and the correct output on each test file have been emailed to you. Note that in marking this lab test, a small partial mark is given for a submitted program that did not pass any test.
June 1, 2009
A3 marks are posted. You can check yours using ePost. The test cases that we used to test your programs can be found here. The differences between the output of your program and the correct output on each test file have been emailed to you.
May 26, 2009
Solutions to sample questions are posted. Click here to download.
May 25, 2009
A sample solution for Assignment 3 is posted. Click here to download.
May 25, 2009
Please be reminded that our final exam will take place on Thursday May 28 from 9am to 11:30am in CLH H. It is a 2.5 hours closed-book exams. For sample questions from previous exams, click here. Solutions will be posted later. Note that the final exam will cover all the materials that we have talked about in class (including C, Unix shells and testing). The sample questions are mostly for you to practice on shell commands and scripts. You have practiced C questions through the midterm and others (exercises and assignments).
May 21, 2009
A2 marks are posted you can check yours using ePost. The test cases that we used to test your programs can be found here. A sample solution can be found here. The differences between the output of your program and the correct output on each test file have been emailed to you.
May 18, 2009
In the labtest tomorrow, you will be able to access a C reference guide and our lecture notes on Unix shells, Bourne shell and scripts, and Unix utilities through http://www.cse.yorku.ca/labtest/. Click on 2031 on the page to access the materials.
May 17, 2009
Solutions and sample input files to the exercise questions are posted. Click here to download.
May 17, 2009
Some exercise questions are posted. Click here to download. I will post sample solutions tonight.
May 16, 2009
Lab exercise 3 questions and their sample solutions are posted. Click Lab Exercise 3 to download. Note that in the lab exercises the output format for each question is not strictly specified in the requirement, which is different from lab tests.
May 14, 2009
There was a misspelling of word "distribution" in the Sample Output section and in a3.out. The word was spelled as "distrbution". Corrections have been made. Please either add "i" to the word "distrbution" in your downloded a3.out file or download the file again.
May 13, 2009
Assignment 3 is posted. See the link below in the "Assignments" section. The access to the assignment is password-protected. The user name and password are the same as the one for downloading A1 and A2.
May 9, 2009
As mentioned in class, the second labtest has been moved from May 21 to May 19 due to the fact that May 21 is the make-up day for Friday classes. Lab exercise 4 (which was scheduled for May 19) is therefore cancelled.
May 5, 2009
Labtest 1 marks are posted. You can check yours by using ePost. The test cases that we used to test your programs along with sample solutions can be found here.
May 3, 2009
There are a couple of additions to the A2 specification. One is regarding the output of the sortByName() function. The other is to add the parameter name "head" to the freelist() declaration. Both additions are highlighted in the red color in the A2 description.
May 1, 2009
An FAQ page is set up to answer frequently-asked questions about A2. Please click here.
April 30, 2009
I made a couple of small changes to the specification of Assignment 2 this morning at 9am. The changes were related to the contents of two output messages and two test files: a2-1.in and a2-2.out. Please download the new version if you had downloaded the old one before 9am this morning.
April 29, 2009
Assignment 2 is posted. See the link below in the "Assignments" section. The access to the assignment is password-protected. The user name and password are the same as the one for downloading A1.
April 21, 2009
Midterm solutions are posted. Click here to download it.
April 19, 2009
Midterm marks are posted. You can check yours by using ePost.
April 18, 2009
A1 marks are posted. You can check yours by using ePost. Click here. The test cases that we used to test your program can be downloaded here. There are 14 test files in total. Your mark is determined by the number of files your program has passed and your written document. The differences between the output of your program and the correct output on each test file have been emailed to you. A sample solution can be found here. Please note that to check your mark with ePost, you need to enter your cse login and password. To download the test files and sample solution, you need to use the group username and password that we have been using for downloading A1.
April 16, 2009
Please be reminded that there will be a labtest next Tuesday at the class time (10:00am - 11:20am) in CSE 1004. The coverage of the labtest will be the same as the one for the midterm test.
April 12, 2009
Solutions to the midterm sample questions are posted. Click here to download.
April 10, 2009
Some sample questions from previous midterms are posted. Click here to download the file. I will post its solutions in a couple of days. Also, the lab exercise questions and their sample solutions are posted. Click Lab 1 and Lab 2 to download them. The username and password are the same as the ones for downloading A1.
April 10, 2009
Please be remined that the midterm test will take place on Tuesday April 14 at 10:00am-11:20am in class. It is a closed book exam. The coverage of the exam is what we have talked about until last lecture (including the materials in the last lecture). In the K&R book, the coverage is from Chapter 1 to Chapter 5 except Section 4.11 and Sections 5.10-5.12.
April 9, 2009
Please be reminded that today's lecture is in the lab (CSE 1004). We will do lab exercise.
March 31, 2009
Our TA, Tim Oleskiw, will be available tomorrow (Wed April 1) from 1pm-4pm to answer your questions regarding A1. If you would like to see him, please make an appointment with him beforehand at oleskiw@cse.yorku.ca. His office room number is CSE 0002B.
March 24, 2009
An FAQ page for A1 is set up. Please see A1 Frequently Asked Questions.
March 23, 2009
Some explanations are added in the Assignment 1 description. They are regarding when string "no input" should be outputted, what the assumption "All input lines end with a newline character" means, and when the program should terminate its execution. Please download the A1 description again. The newly added sentences are displayed in red. Don't forget to use the "refresh" button on your browser.
March 20, 2009
Assignment 1 is posted. See the link below in the "Assignments" section. The access to the assignment is password-protected. I have sent the username and password to your cse email account.
March 18, 2009
If you are interested in York programming contests, the first contest of the Winter term will take place tomorrow at 3pm-5pm. See here for details.
March 17, 2009
The March 19th (this Thursday's) lecture will be in the lab (CSE 1004). We will do a lab exercise.
March 4, 2009
The web site is set up. Welcome to the course!


Description

This course introduces software tools that are used for building applications and in the software development process. Furthermore, the students will be exposed to the layers between a programming language and the operating system and the CPU. The course covers the following topics:
  • ANSI-C (C Basics, stdio, pointers, memory management, overview of ANSI-C libraries)
  • Shell programming under Unix (Bourne shell, filters and pipes)
  • Testing and debugging
All the above topics will be applied in practical programming assignments.


Textbooks

The following are the official texts for the course. They are available in the bookstore:
  • Kernighan, Brian W. and Ritchie, Dennis M., The C Programming Language, 2nd Ed., Prentice Hall, 1988.
  • Practical Programming in the Unix Environment, Edited by W. Stürzlinger, Pearson, ISBN 053674996-5, 2003.


Grading Scheme

Tentative grading scheme:
  • Assignments (15%)
  • Labtests (10%)
  • Midterm (30%)
  • Final (45%)


Lecture Notes


Schedule


Assignments


Lab Exercises


Course Policies

  • Click here to see course policies.