ENSC 251 Software Design and Analysis for Engineers |
Lab Information
This course will use the ESIL lab (ASB 10803) for all lab sections
except LA06, which will be in ASB 10802. Both labs are located
in the ASB building.
Software Development Environment:
This year, we will be using Linux in conjunction with Code::Blocks
and GNU's gcc. You can install download and install your own
copy of Code::Blocks from
http://www.codeblocks.org/.
It is supported across platforms (Windows, Linux, Mac).
To login to the lab machines, use your SFU login and password.
Important Notes for All Software Submissions:
- Your assignment will be evaluated in the lab and electronically.
Failure to follow the exact instructions for submission (including directory format and file naming) will result in you receiving a zero on the autochecker evaluation.
- You must individually submit separate electronic submissions for evaluation following the submission instructions outlined for each assignment/project.
- Lab partners may submit the same code for evaluation if they wish (or have separte code submissions if they prefer). However, we will be checking for code copying between lab groups and if we find anyone has cheated, the penalties will be as outlined in the Statement of Expected Professional Integrity Standards and Consequences you signed.).
- You will lose 5% off your assignment mark for each minute you are late.
- Your in-lab evaluation will be done in pairs, but your evaluation will be done individually. If someone demonstrates that they have no knowledge of the lab pair's code, they will receive zero for the entire assignment (not just the in lab evaluation).
- Remember, you will not receive any marks for your assignments/project
unless I receive a signed copy of the Statement of Expected Professional Integrity Standards and Consequences by the beginning of class on the Monday before your (first) assignment is due.
- Don't procrastinate. Your assignments are only about 100 lines of code
long, but testing them properly takes time. It is your job to come up with
appropriate test suites for your code to verify it's functionality. We will
have our own thorough test suites that check for corner cases as well as the
obvious cases.
How to Submit your Assignments:
Instructions on how to upload your lab can be found
here (Note that you need to login to read them).
When submitting your Lab assignments, maintain the directory structure and then tar the folder (not "rar"). Once you have done this, you can zip
it with gzip at a Mac or Linux terminal command line so that you have filename.tar.gz.
If you are using Windows, go here and install 7-Zip supports "tar" and "gz". (Final note: "gz" and "zip" are not interchangeable zip operations).
Be sure that all of your source files are included when you submit your electronic submission (as well as executables) as we will recompile your code to mark it.
Assignments:
Lab Assignment 1: [**UPDATED with final Assignment**]
Your final Lab Assignment 1 is posted now. It will be due at 11:59:59pm on
Monday, September 28th, 2015. Important Information:
- A description of the Lab Assignment requirements may be found
here.
[Updated: Mon, Sep 21 at 8:10pm to correct typos in prob4]
- The necessary code and files for this assignment may be found
here.
[Updated: Mon, Sep 21 at 8:10pm to correct typos in ETriangle.cpp comments]
- Instructions on how to upload your lab can be found
here (Note that you need to login to read them).
- Your final submission should have the Lab_Assignment1 folder tar'd and zipped (not "rar") so that it will be of the format Lab_Assignment1.tar.gz. Read the section above on "How to submit assignments" for more details.
- Be sure that all of your source files are included when you submit your file Lab_Assignment1 directory (as well as executables) as we will recompile your code to mark it.
Final Notes: 1) If you've started the assignment (which I hope you have), copy the directories from "Lab_Assignment1_initial" directory into this one ("Lab_Assignment1"). This will overwrite the first three prob directories (which have not changed). 2) Your final submission must be in this format (so that inside your submission directory you will have "Lab_Assignment1-> prob1, Lab_Assignment1-> prob2, etc.). If you change this structure the auto-checker will not be able to mark your code and you will receive a zero on your submission. Post any questions to Piazza and we will be happy to help you. Good luck!
Lab Assignment 2:
Your Lab Assignment 2 is posted now. It will be due at 11:29:59am on
Tuesday, October 13th, 2015. Important Information:
- A description of the Lab Assignment requirements may be found
here.
- The necessary code and files for this assignment may be found
here. [Updated to correct member variable types in LinkedList.h, an arguments of the overloaded extraction operator, and to add more comments and function declaration parameter variable names Friday Oct 9th 12:30pm]
- Instructions on how to upload your lab can be found
here (Note that you need to login to read them).
- Your final submission should have the Lab_Assignment2 folder tar'd and zipped (not "rar") so that it will be of the format Lab_Assignment2.tar.gz. Read the section above on "How to submit assignments" for more details.
- Be sure that all of your source files are included when you submit your file Lab_Assignment2 directory (as well as executables) as we will recompile your code to mark it.
Final Notes: Your final submission must be in this format (so that inside your submission directory you will have "Lab_Assignment2-> files + Challenge\_Task directory. If you change this structure the auto-checker will not be able to mark your code and you will receive a zero on your submission. Post any questions to Piazza and we will be happy to help you. Good luck!
Lab Assignment 3:
Your Lab Assignment 3 is posted now. It will be due at 11:29:59am on
Tuesday, October 27th, 2015. Important Information:
- A description of the Lab Assignment requirements may be found
here.
- The necessary code and files for this assignment may be found
here. [Note the format of the file you are downloading is .tar.gz- like your assignment submissions. You should be able to open it automatically on a Mac or in Linux. If you are using Windwos, use 7-Zip]
- Instructions on how to upload your lab can be found
here (Note that you need to login to read them).
- To create your final submission, follow the instructions in the assignment and call "make tar" at a terminal window prompt (easy to do in Linux or on a Mac). For windows, you will need to install a terminal program (like PuTTY). If you can't create this on your own machine, log into the rcl server and scp your assigment directory there and then call "make tar". Read the section above on "How to submit assignments" for more details.
- Be sure that all of your source files are included when you submit your Lab Assignment 3 directory (as well as executables) as we will recompile your code to mark it.
Final Notes: Your final submission must be in the same format as the directory structure provided to you. If you change this structure the auto-checker will not be able to mark your code and you will receive a zero on your submission. Post any questions to Piazza and we will be happy to help you. Good luck!
Final Project:
Your final project is posted now. Your final electronic submission
is due at 11:29:59am on Tuesday, December 1st, 2015.
Important Notes- Read all of the following carefully:
- A description of the Project requirements may be found
here.
- The additional necessary code and files for the project may be found
here.
Remember to use your code from assignment 3 to get started.
- Your project will be evaluated in the lab and electronically.
- You need to complete Parts 1 and 2 to demo in the lab the week of November 16th. Your final in-lab demo of your project will be due the week of November 30th. Your overall final electronic submission will be due Tuesday, December 1st at 11:29:59am. (Remember: you will lose 5% of your mark on the electronic submission for every minute you are late).
- Don't forget that part of your mark will be dictated by your coding style, so don't forget to comment your code and choose meaningful variable names.
- REMEMBER: we will be checking for code copying and if we find anyone has cheated, the penalties will be as outlined in the Statement of Expected Professional Integrity Standards and Consequences you signed.
- You know already know everything you need to know to do this Project. Start now so you complete it by the deadline. (Don't procrastinate.)
- Every lab team member must submit an individual electronic copy of their submssion following the instructions outlined in the project document.
- Be sure to follow the instructions in the project document exactly when creating your submission. Also, be sure that all of your source files are included in your Final_Project.tar.gz file when you submit your project.
- Final Notes: Your final submission, Final_Project.tar.gz, must be in the same format created by the makefile. If you change this structure the auto-checker will not be able to mark your code and you will receive a zero on your submission. Post any questions to Piazza and we will be happy to help you. Good luck!
[Course Home Page]