Software Tools
EECS-2031
Fall 2015
York University


Semester: Fall 2015
Course/Sect#: EECS-2031
Time: Lectures: Mon 2:30pm-4:30pm
Lab1: Fri 2:30pm-4:30pm
Lab2: Mon 10:00am-12:00pm
Location: Lectures: R S137
Labs: LAS 1006/1004 (Friday), LAS 1006 (Monday)
Instructor: Aijun An
Office: LAS 2048
Office Hours: Tue: 12:00-1:00pm and Thur: 4:10-5:10pm
Phone #: 416-736-2100 x44298
e-mail: aan@cse.yorku.ca


Welcome to the Software Tools course, EECS-2031, for Fall 2015. Materials, instructions, and notices for the course will accumulate here over the semester.


Message Board

January 4, 2016
Grades are posted on ePost.
December 13, 2015
Solutions to the sample final questions are posted.
December 12, 2015
Please be reminded that our final written exam and lab test will be held on December 15 at the following times and locations:
  • Written exam: December 15 at 9:00am - 10:50am in LAS B
  • Lab test: December 15 at 11:10am - 1:00pm in LAS 1006, 1004, 1002
Also, sample exam questions are posted. Please see here. Note that the written exam is a closed book/note exam, but you will see a list of Unix utilities and their options at the end of the exam paper. Please see here for its content. During the lab test, you will see this page. In addition, our TAs will have the following office hours on Monday to answer your questions about the course and lab materials:
  • Monday December 14 at 1:30-2:30pm in LAS 3017 (TA: Emad Gohari)
  • Monday December 14 at 3:30 - 4:30 in LAS 2057 (TA: Martin DImkovski)
If you have not picked up your midterm test paper, please go to these office hours to pick it up.
December 7, 2015
Our substitute TA, Jason Chen, will have a TA office hour to answer your questions about Lab 10 today at 1:00pm-2:00pm in LAS 2057 (Data Mining Lab). Please take this opportunity to seek help if you need.
December 4, 2015
Sample solutions to Lab 9 programs are posted. You can find them by clicking on Lab 9 in the Labs section below. Also, Lab 10 has been posted. Both submissions of Lab 10 will be due on Monday December 7 (at different times). Monday lab students should start doing Lab 10 as soon as possible (before the Monday lab time), and are encourged to come to the Friday lab (today at 2:30 - 4:30) in LAS 1006 and 1004 to start doing the lab.
December 2, 2015
Feedbacks to your Lab 9 submissions are sent to your EECS email account. The testcases used to test your programs are posted. Please click on "Lab 9" in the Labs section below. There is a readme.txt file in the Testcases directory of each question. Please read that file to understand the files for the test cases.
November 29, 2015
Our TAs will have the following office hours this week to answer your questions about Lab 9 programs:
  • Monday November 30 at 1:00 - 2:00pm in LAS 2057 (Data Mining Lab, TA: Martin Dimkovski)
  • Tuesday December 1 at 1:30 - 2:30pm in LAS 3017 (CIVDDD Lab, TA: Emad Gohari)
Also, Lab 8 solutions and marks are posted. See the link to Lab 8 below in the Labs Section for the sample solution. Note that due to the lack of TA hours, Lab 8 submissions are not graded. All submissions received the full mark (1) on this lab. Please read the sample solution to see whether your answers are correct.
November 19, 2015
The deadline for the second submission of Lab 7 is extended to Sunday November 22 at 10:00pm.
November 17, 2015
Our TA (Emad Gohari) will have the following office hours this week to answer your questions about Lab 7 programs:
  • Tuesday November 17 at 1:00 - 2:00pm in LAS 3017 (CIVDDD Lab)
  • Thursday November 19 at 2:30 - 3:30pm in LAS 3017 (CIVDDD Lab)
November 16, 2015
An FAQ page is set up to answer some questions regarding Lab 7 programs.
November 14, 2015
Lab 6 marks are posted on ePost. Feedbacks to the second submission of your Lab 6 programs have been emailed to you. Sample solutions to Lab 6 questions are posted.
November 12, 2015
There will be a small quiz in tomorrow's and next Monday's lab (Lab 7).
November 11, 2015
Feedbacks on the first submission of your Lab 6 programs have been sent to your cse account. Testcases used in the automatic testing are posted. See the link to Lab 6 in the Labs section below. In these test cases, the .in files store the command line arguments. For example, the 0.in file for q1 contains "2.87 6 3.8 4". The corresponding 0.out file contains the output when your program is run with "a.out 2.87 6 3.8 4" assuming a.out is your program name. If your program(s) do not pass some of the testcases, you can re-submit them by the second submission deadline (Thursday November 12 at 10:00pm).
November 9, 2015
Solutions to the midterm written test are posted. Please see here. Also, you can pick up your midterm paper from the TA during 1:00pm - 2:00pm today in LAS 2057. I will also bring the remaining papers to the class today.
November 8, 2015
Midterm written and lab test marks are posted. You can check yours using ePost. You can see your labtest submissions and TA's feedbacks on your programs here. Login with you cse account and choose 2031 for course and labtestFrday/labtestMonday for Assignment. If your program(s) failed certain number of automatic tests, the program(s) were manually marked by a TA, and the TA's comments on your program can be seen in the "remarks" file. Also, the automatic testing results on your programs have been sent to your cse email account. Labtest questions, sample solutions and test cases used in marking are also posted. See the links to "Midterm Labtest (Friday)" and Midterm Labtest (Monday) in the Labs section below.
November 7, 2015
Lab 6 document is updated by adding a specification in Question 4 for the output when the input arguments are invalid. Two more testing cases are also provided. Please see the red part of Question 4 for the additions.
November 5, 2015
There will a lab tomorrow (Friday November 6) and Monday November 6 as usual. We will do Lab 6 practicing using command line arguments in C.
October 31, 2015
Solutions to the midterm sample questions are posted. Click here to download. Also, please be reminded that the location for the midterm written test is VH D, and the time is the class time on Monday November 2.
October 27, 2015
Some sample questions from previous midterms are posted. Click here to download the file. I will post their solutions in a few days. Also, our TAs will have the following office hours this week to answer your questions about the course materials and lab programs:
  • Wedneday October 28: 3:00 - 4:00pm (Location: LAS 2057, TA: Martin Dimkovski)
  • Friday October 30: 11:00 - 12:00pm (Location: LAS 2057, TA: Heidar Davoudi)
October 24, 2015
Lab 4 marks are posted. You can check yours using ePost. Feedbacks to the second submition of your programs have been emailed to your cse account. Sample solutions to Lab 4 programs are posted.
October 21, 2015
Note that there will be a small quiz at the beginning of Lab 5. This time the quiz is worth 0.2 marks and programming questions 0.8 marks.
October 21, 2015
For Monday lab students, Lab 4 test results have been sent to your cse email account. If you fail some of the tests, you have the chance to resumbit your Lab 4 programs by tomorrow at 10:00pm.
October 19, 2015
For Friday lab students, feedbacks to your second submission of Lab 4 questions have been sent to your CSE account. Marks will be posted once the Monday lab students finished submitting their Lab 4 later this week.
October 17, 2015
Lab 4 questions for Monday lab students are posted. See the link below in the Labs section. Also, please be reminded that there will be a small quiz at the beginning of Lab 4.
October 15, 2015
For Friday lab students, please check your cse email for sample solutions to Lab 4 questions.
October 14, 2015
Please be reminded that the midterm lab test for Friday lab students will take place this Friday at 2:30 - 4:20pm in LAS 1006 and LAS 1004. The lab test is a closed book test. But during the lab test, you will be able to see this C Reference Guide. You will not be able to see the files in your cse account, the lecture notes, nor the web. Also, our TAs will have the following office hours before the Friday lab test to answer your questions about the course materials:
  • Thursday October 15: 2:00 - 3:00pm (Location: LAS 2057, TA: Martin Dimkovski)
  • Friday October 16: 1:00 - 2:00pm (Location: LAS 2057, TA: Heidar Davoudi)
By the way, feedbacks to the first submission of Lab 4 questions for Friday lab students have been sent to their cse email accounts. If you fail some of the tests, you have the chance to resumbit your Lab 4 programs by Thursday October 15 at 8:00pm. You can find the test cases that I used to test your programs from the Lab 4 link in Labs section below.
October 10, 2015
Lab 3 marks are posted. You can check yours using ePost. Feedbacks to your programs have been emailed to your cse account. Sample solutions to the Lab 3 questions are also posted. You can find them by clicking the Lab 3 link in the Labs section below.
October 8, 2015
There will be a lab (Lab 4) this Friday as usual, with a small quiz at the beginning. Also, in next Friday (October 16) there will be a lab test (the midterm lab test) for Friday lab students. This coming Monday is Thanksgiving. So there will be no lab nor lecture on that day. The Monday Lab students will do Lab 4 on Monday October 19.
October 4, 2015
Our TA, Heidar Davoudi, will have an office hour at 1:00 - 2:00pm on Monday October 5 in LAS 2057 (Data Mining Lab) to answer your questions about the course materials. Please use this opportunity to get help if you need.
October 3, 2015
For Friday Lab students, please note that the q11.out file was updated at 15:23 or the Lab3.pdf file was updated at 15:49 yesterday (Friday) during the lab after we identified some inconsistencies between the two files regarding the user prompt for the age input in Question 1. If you copied or downloaded the q11.out or Lab3.pdf file before its revision time, please copy or download it again. Sorry about the inconvenience.
October 2, 2015
Lab 2 marks are posted. You can check yours using ePost. Feedbacks to your programs have been emailed to your cse account. Sample solutions to the Lab 2 questions are also posted. You can find them by clicking the Lab 2 link in the Labs section below.
October 1, 2015
As I mentioned in the class, there will be a small quiz at the beginning of Lab 3.
September 30, 2015
Access to the course materials is put under password protection. The user name and password for accessing the materials have been sent to your cse email account. Please check your cse email to get them. Feedbacks to your Lab 2 submissions have been emailed to your cse account. The test cases that I used to test your programs are posted. Please click on the Lab 2 link in the Labs section below to download the testcases. If any of your program failed a test case, you can re-submit your program by 10:00pm on Thursday October 1. Please also use the diff command to compare your program output with the correct output I posted to catch errors after you revise your program. There will NOT be a third submission for this lab.
September 29, 2015
Lab 1 marks are posted. You can check yours using ePost. Feedbacks to your programs have been emailed to your cse account. Sample solutions to Lab 1 questions have been posted. See the link to Lab 1 in the Labs section below.
September 27, 2015
The instruction for "File transfer via FileZilla" is updated. A third step in "Configuring FileZilla" is added on page 5. Basically, you need to choose SFTP for Protocol in the Site Manager due to a recent change in the setting of our department server. Please use this updated file for setting up FileZilla.
September 26, 2015
A clarification on the output of the money.c program in Lab 1: there is an empty line before "The value of the coins is:".
September 26, 2015
Lab 1 submission is reopened to allow you to further correct your errors. If your program did not pass some of the test cases, please use the diff command to compare your program output with the desired output that I posted. How to use the diff command is covered in Lab 2. Please see Question 1 and Question 3 of the Lab 2 document on how to use the diff command. You have until 6pm on Monday September 28 to resubmit your Lab 1 programs. Also, the Lab 2 document has been updated (a couple of sentences were added to Question 6 description which are shown in red in the new document). I have also sent an email to your cse email account to notify you the above issues. Please check your cse email regularly.
September 25, 2015
Lab 2 questions are posted. See the link under Labs.
September 23, 2015
Lab 1 test results have been sent to your cse email account. If you fail some of the tests, you have the chance to resumbit your Lab 1 programs by Thursday September 24 at 6:00pm. The test cases that we use to test your programs are posted here. You can also find them by clicking the "Lab 1" link in the Labs section below.
September 20, 2015
An FAQ is set up.
September 18, 2015
Lab1 questions are posted. See the link under Labs.
September 10, 2015
The web site is set up. Welcome to the course! Lectures will start on Monday September 14. Friday labs will start on Friday September 18. Monday labs will start on Monday September 21.


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)
All the above topics will be applied in practical programming assignments.


Textbooks

The following is the official text for the course. It is available in the bookstore:
  • Kernighan, Brian W. and Ritchie, Dennis M., The C Programming Language, 2nd Ed., Prentice Hall, 1988.


Grading Scheme

Tentative grading scheme:
  • Lab exercises (10%)
  • Midterm
    • Written test (20%) (November 2, the class time. Location: VH D)
    • Labtest (15%) (Friday lab: October 16; Monday lab: November 2)
  • Final
    • Written test (40%) (Tuesday December 15 at 9:00am - 10:50am. Location: LAS B)
    • Labtest (15%) (Tuesday December 15 at 11:10am - 1:00pm. Location: LAS 1006, 1004 and 1002)


Lecture Notes


Schedule


Labs

  • Lab 1 (First submission is due on Tuesday September 22 at 6:00pm. Feedbacks will be given on Wed. Second submission is due on Thursday September 24 at 6:00pm)
  • Lab 2 (First submission is due on Tuesday September 29 at 6:00pm. Feedbacks will be given on Wed. Second submission is due on Thursday October 1 at 10:00pm)
  • Lab 3 (First submission is due on Tuesday October 6 at 6:00pm. Feedbacks will be given on Wed. Second submission is due on Thursday October 8 at 10:00pm)
  • Lab 4 (Friday October 10) (First submission is due on Tuesday October 13 at 6:00pm. Feedbacks will be given on Wed. Second submission is due on Thursday October 15 at 8:00pm)
  • Lab 4 (Monday October 19) (First submission is due on Tuesday October 29 at 6:00pm. Feedbacks will be given on Wed. Second submission is due on Thursday October 22 at 10:00pm)
  • Lab 5 (First submission is due Tuesday October 27 at 6:00pm. Feedbacks will be given on Wed. Second submission is due on Friday October 30 at 6:00pm)
  • How to use the gdb debugger
  • Midterm Labtest (Friday)
  • Midterm Labtest (Monday)
  • Lab 6 (Due Tuesday November 10 at 6:00pm. Feedbacks will be given on Wed. Resubmission is due on Thursday November 12 at 10:00pm)
  • Lab 7 FAQ (Due Tuesday November 17 at 6:00pm. Feedbacks will be given on Wed. Resubmission is due on Sunday November 22 at 10:00pm)
  • Lab 8 (Due Thursday November 26 at 6:00pm. Tutorial slides)
  • Lab 9 (First submission is due on Tuesday December 1 at 10:00pm, Feedback will be given on Wed. Second submission due on Thursday December 3 at 10:00pm)
  • Lab 10 (First submission due 12:00 noon on Monday December 7. Feedback will be provided right after it. Second submission due Monday December 7 at 11:59pm)


Quizzes


Remote Access and File Transfer

When working at home, you can edit the source code on your home machine with a plain text editor (such as Notepad on Windows and TextEdit on Mac), and then transfer the files to our department server (red.eecs.yorku.ca) to compile and submit. Below are the instructions on how to install and set up putty for remotely accessing our department server, and FileZilla for file transfer between your home machine or laptop and the department server.
  • Remote access to EECS server via putty
  • File transfer via FileZilla (This file is updated on September 27, 2015. A third step in "Configuring FileZilla" is added on page 5. Basically, you need to choose SFTP for Protocol in Site Manager due to a recent change in the setting of our department server. Please use this updated file.)


TAs

  • Martin Dimkovski (email: martin@cse)
  • Heidar Davoudi (email: davoudi@cse)
  • Emad Gohari (email: gohari@cse)


Course Policies

  • Click here to see course policies.