ECE 364: Software Engineering Tools Lab Fall 2016

advertisement
ECE 364: Software Engineering Tools Lab
Fall 2016
Lecturer:
Lab TAs:
Contact:
Alex Gheith
Mariam Zaim, V.K. Chaithanya Manam
Piazza (Private or Public Posts: Immediately Received.)
ee364ta@ecn.purdue.edu (Minimally Monitored.)
Lab Admin:
Admin Contact:
Dr. Mark Johnson
mcjohnso@purdue.edu
(For general and confidential questions.)
Lecture:
Monday
03:30 PM – 04:20 PM
EE117
Labs:
Tuesday
Tuesday
Tuesday
Wednesday
09:30 AM – 11:20 AM
01:30 PM – 03:20 PM
03:30 PM – 05:20 PM
09:30 AM – 11:20 AM
EE207
EE207
EE207
EE207
Piazza:
Course Website:
Blackboard:
https://piazza.com/purdue/fall2016/ece364/home
http://engineering.purdue.edu/ee364
http://mycourses.purdue.edu
⟸
⟸
⟸
START HERE
Schedule
Grades
Course Description:
This course acquaints students with a variety of current software engineering tools, scripting languages, and
application programming languages. Students are expected to use their previous programming experience to design
and test software programs using the techniques learned in this course.
Course Reference:
Python Web Documentation: https://docs.python.org/3.4/
Your “One Stop Shop” for tutorials, examples and language reference.
Accessible during labs and practical exams.
Course Texts (Optional):



“The Quick Python Book,” Daryl D. Harms and Kenneth McDonald, Manning Publications, 1st Edition, 2000,
ISBN 1884777740.
“Python Essential Reference,” David M. Beazley, New Riders Publishing, 1999, ISBN 0735709017.
“A Practical Guide to Linux Commands, Editors, and Shell Programming,” Mark G. Sobell, Prentice Hall, 2009,
2nd Edition, ISBN 0131367366.
(Copies will be made available to you during your scheduled lab section but may not be removed from the lab.)
1
Outline:





Programming with Bash Shell Scripting and Text Processing.
Basics of Python Programming.
Python Collections and Object-Oriented Programming.
Python Regular Expressions.
Advanced Python Programming.

Programming GUI Applications with the Qt Framework.
Grading Policies:
Grades will be determined based on your performance on pre-lab & lab assignments, lab practical exams, and a final
project. Grades will be assigned based on the scale in the table below.
Qty
9
2
2
Description
Lab Exercises, 6 each
Practical Exams, 11 each
Project Phases, 12 each
Total
Percent
54%
22%
24%
100%
Course Grade
97 – 100%
89 – 96.9%
87 – 88.9%
85 – 86.9%
80 – 84.9%
78 – 79.9%
76 – 77.9%
72 – 75.9%
69 – 71.9%
60 – 68.9%
Letter Grade
A+
A
AB+
B
BC+
C
CD
Course Objectives:
You are required to pass the following course objectives:
CO1
CO2
CO3
CO4
CO5
CO6
CO7
Student has successfully written a Bash script which interacts with the operating system.
Student has successfully written a Python script which interacts with the operating system.
Student has successfully tested a Python program for software reliability and correctness.
Student has successfully written a Python script which uses an interactive user interface.
Student has successfully written a Python script which requires the use of regular expressions.
Student has successfully written a Python program which requires the design and use of Python classes.
Student has successfully written a Python program which requires the design and use of associative arrays.
You will be given multiple opportunities during your regular lab session as well as the two practical exams to pass all
objectives. You need to pass each objective only once.
2
IMPORTANT GRADING NOTES:



You are required to pass all course objectives by the Objective Remediation Deadline to receive a
passing grade in the course. Please refer to the Remediation Policy below for more information.
If you pass the all course objectives, but fail to obtain 60% or more in your course grade, you will be
assigned a “D-” for your grade, i.e. the minimum passing grade.
If you fail to pass all course objectives and fail to seek remediation, you will be assigned an “F” for
your grade, regardless of your actual grade. Please refer to the Remediation Policy below for more
information.
Re-grading Policy:
Re-grade requests must be submitted within one (1) week of receiving the grade. In writing, describe why you
feel the assigned points are incorrect. Contact the staff by email, using the title “Regrade Request,” or, write
your request on a paper and turn it in to any TA during any lab or office hours.
Course Objective Remediation Procedure:
Remediations for a Course Objective are only permitted if one has taken advantage of all previously scheduled
opportunities to satisfy that objective. To remediate a course objective, attend any of the scheduled office hours
and indicate that you would like to attempt one of the course objective remediation exercises. You may also, with
the approval of that lab’s TA, attempt a remediation exercise during a regular lab section (probably not yours). You
must email the TA to obtain approval prior to showing up.
If, as the end of the semester approaches, you are still failing one or more course objectives, you may elect to do a
remediation exercise. You are permitted one (1) attempt at the remediation exercise for each course objective that
you are failing.
If, at the end of the semester, you have failed to satisfy one or more of the course objectives but:
1. Have a class average above the threshold for a “C-” and
2. Have attempted all remediation exercises pertaining to the failing objectives,
You will receive an incomplete for your class grade. The following semester you will be permitted to take a
remediation practical assuming that completion of the practical results in the passing of all course objectives, you
will receive a letter grade of “D.” Otherwise, your course grade will revert to an “F.”
All other scenarios resulting from a failed course objective will result in a final grade of “F.”
3
Lab Accounts:
Each student will be assigned an account to use in this lab. These accounts are different form the students’ Career
Accounts, and are strictly for lab work. Course staff may access the content of these accounts at the discretion of the
lab director. (Note that we cannot access your account to grade a script that is not submitted through SVN.)
Pre-Lab Assignment:
The pre-lab assignments are due at 11:59PM on the published due dates, regardless of what lab section you belong
to. Each pre-lab assignment is worth 20% of your lab grade, and the lab exercise is worth 80%.
Lab Procedure:







The lab document will be distributed at the beginning of each lab section, and will be collected at the end of
the lab period. Failure to give your lab document back may result in a grade penalty.
The lab session is timed, and you will have to log out exactly after one hour and 50 minutes from the start
time of the session. Please come a couple of minutes early to login and obtain the lab document. To ensure
fairness among lab sections, TAs/ULAs are not permitted to give any extra time to any student.
You are not allowed to access the internet during your lab session. You are however permitted to access the
Python Documentation Website mentioned above in references. You are also allowed to access your own
previous labs and pre-labs.
Your lab will consist of several exercises, and each exercise will have an assigned grade. If you finish an
exercise before the end of your lab session, it will be graded against the assigned grade.
If you fail to complete the lab by the end of your lab session, you have one week, i.e. until the beginning of
your next lab session, to finish and submit the missed exercises. However, each of these exercises will be
graded against 50% of the assigned grade. Note that partial grading is only applicable if you attend your lab
session. If you miss a lab, you must schedule a makeup in order to work on it. (See below for policy.)
We can only grade the scripts in SVN. Failure to check in your scripts into SVN on time will result in a grade
penalty or possibly a grade of 0. Also, remember to always logout of your lab account.
To help you complete the lab assignment you are permitted to bring in one (1) 8.5 x 11 sheet of paper
containing handwritten notes. Your notes must be of your own writing and may not be shared with any
other students.
Practical Procedure:
There will be two practical examinations that will test your understanding of all material covered on past lab
exercises. These practical exams are comprehensive, though the second practical will not contain material relating
to Bash.
You are not permitted to bring any material to the exams.
You will be allowed to use the following:
1.
2.
3.
4.
All lecture notes in electronic form.
Your own lab and pre-lab scripts.
The Python Documentation Website.
Appropriate course texts.
Referencing any other material is strictly prohibited and will be considered cheating.
4
Lab Makeup Policy:







If you miss a lab, you must contact the TA and schedule a makeup to take that lab. Otherwise, you will
receive a grade of 0 for that lab.
Lab makeups must be completed no later than exactly one (1) week after the session you missed.
Makeups can be done during office hours or during another lab section. In either case, you must contact the
TA and obtain approval before taking the makeup.
You are permitted one (1) "free" makeup of any lab exercise. No questions asked. The free makeup option
DOES NOT apply to practical exams or project deadlines. All other makeups on lab exercises or practical
exams require a valid excuse (a PUSH slip for illness and instructor approval or instructor approval for other
extenuating circumstances).
If you are taking a planned trip (for an interview, course-related event, or anything else) you must notify the
course staff at least 48 hours prior to your absence for approval.
If you are experiencing flu symptoms, DO NOT come to class or lab, and DO NOT come to see your
instructor in person. Instead, notify Dr. Johnson and your TA as soon as possible via email or telephone. We
will work with you to determine a schedule for completion of your work. Unless extreme circumstances
make this impossible, if you fail to notify us within seven calendar days of the deadline affected by your
illness you will forfeit the right to the make up the missed work.
In other cases, if you are sick, you must provide a doctor’s note to the course staff. Please do not come to
lab ill!
Academic Honesty Policy:
Students are expected to complete all in-lab assignments during the scheduled lab period without the assistance of
any outside resources, except the provided pre-lab (to be completed individually), previous labs (also completed
individually), lecture notes, lecture examples and handwritten notes. All questions must be directed to the TA.
At no time may students collaborate on in-lab assignments.
At no time may the details of in-lab assignments be discussed with or among student students who have not
completed the assignment.
Each student must complete out-of-lab assignments individually. At no point may students share source code with
other students, refer to another student’s code or provide detailed descriptions of solutions or methodology used.
Outside resources include, but are not limited to:




Other individuals.
Network applications (including SSH, rlogin, telnet, ftp, http, etc.)
Previous semester’s labs, pre-labs, practical exams, and projects (either your own or others’.)
Current semester’s labs, pre-labs, practical exams, and projects completed by another individual.
Students are expected to take reasonable measures to protect their work and to ensure no other students may have
access to their work at any time. Do not share any computer account passwords with anyone and do not leave your
workstation unlocked when you are not physically present. Exercise caution when printing to public printers and do
not leave any printouts unattended.
5
Failure to protect course work may be viewed as academic dishonesty. Students are expected to report lost work or
un-authorized access to course accounts immediately to the course staff.
Finally, any clear violation of this policy may have the following consequences:




Referral to the Dean of Students.
A zero for the assignment in question.
Reduction of final course grade by one letter.
Failure of the course.
Any action that results in another student violating this policy is a violation of this policy. Actions taken to conceal
activities that may be in violation of this policy is a violation of this policy.
All work is subject to electronic screening for plagiarism and similarity with other students work.
Campus Emergencies:
In the event of a major campus emergency, course requirements, deadlines and grading percentages are subject to
changes that may be necessitated by a revised semester calendar or other circumstances beyond the instructor's
control. If a campus shutdown is announced by Purdue University officials, an ECE364 course announcement will be
posted in the Blackboard ECE364 discussion groups and a Blackboard email message will be emailed to the entire
class with instructions. You may also reach course staff at the phone numbers and email addresses listed at the top
of this document.
Please refer to the University’s website for emergency preparedness:
http://www.purdue.edu/ehps/emergency_preparedness/
6
Download