Instructor: Dr. Okie, 219 Davis Hall
Phone: Office: 831-5992; Home: 951-7372 (Before 9:00 p.m., please)
Email: nokie (Feel free to send email. I'll reply as quickly as possible.)
Office Hours: MWF: 11:00 - 12:00; TuTh: 1:00-2:00 and by appointment. You are welcome to come by at any time and if not busy I'd be glad to help you. Except for classes and meetings, I'm usually in most of the day. You may want to check my complete schedule to see when my meetings and classes are normally held.
Required Text: Programming in Ada 2005, John Barnes, Addison-Wesley, 2006.
Content: This course provides an introduction to procedural programming for students who have already studied object oriented programming. The primary implementation language that we will use is Ada, a language designed to support development of large, reliable software systems. It is widely used in areas where reliability is critical such as avionics, banking, transportation, and medical systems. Although Ada fully supports object oriented programming (it was the first internationally standardized object oriented language), we will use it primarily as a procedural language. More information on Ada is here.
Course Outcomes: Students who complete the course will be able to
Semester Schedule: Check the course web page for weekly topics and readings. Exams will be held around weeks 5 and 10.
Course web page: http://www.radford.edu/nokie/classes/320. Please remember that I frequently revise my notes pages, and they can change at any time, including just before and after and even during class.
Communication: I will post relevant course information on the course web page as well as send announcements via email. It is your responsibility to be aware of this information, as well as all information presented in class, of course.
Prerequisite: ITEC 110 and ITEC 220, with a grade of "C" or better in each course
Evaluation:
| Per cent | Activity |
| 50 | Programs, homework, and in-class activities |
| 30 | Two in-class tests |
| 20 | Comprehensive final exam (8:00 a.m. - 10:00 a.m., Thursday, December 17, 2009) |
| 100 | Total |
Attendance: Attendance is not required. You will find it much easier to learn and to make a good grade in the class if you come to class. You will not be allowed to make up any in-class activities that you miss. Good attendance and class participation can be to your benefit if you have a borderline final grade!
Laptops: During class laptops and lab computers are to be used only for current classroom activities (eg taking notes). If you want to use your laptop during class, please sit in the front of the class so that I and others can easily see what you are doing and use your laptop only for activities that are related to the current class activity. Research shows that multitasking hurts learning, and it is also distracting to others. Please remember that experience shows that inappropriate laptop use typically lowers a student's perforance in the course by a full letter grade.
Program grading: Programs with compilation errors will normally receive a grade of 25 or less. Programs with runtime errors will normally receive a grade of 75 or less. Programs with incorrect results will normally receive a grade of 85 or less. Programs which do not use specified features will normally receive a grade of 85 or less. Remember that it is better to turn in a non-working program rather than turn in nothing at all. Also, please make sure that you test your programs on rucs which is where I will grade them.
Programming assignments should, of course, use appropriate style (e.g. use of white space, suitable variable names, and meaningful comments internal to your code and in headers to files and procedures). The documentation should include a header that includes your name, the date, a problem description, the language, the system, and instructions for compilation. Style is normally worth about 20%.
Program submission: Programs will be turned in using the unix command submit.
This command copies the specified files to the specified submit directory. After you submit your files, you should use submit to verify that submit copied the files successfully. Note that submit is NOT the same as a dropbox.
You should read the instructions for using submit. Remember that if you submit the same file twice, the later submission deletes any files with the same name that were submitted earlier. If you are off campus or in another lab, then you should use the submit command from rucs. In the past, submit would only work from rucs2. It now appears to also be working from any of the unix workstations in the unix lab. To access rucs, you should use the free secure shell client available from www.ssh.com.
Always make sure that you keep a copy of your programs in case one gets lost or in case you make a mistake with the submission. Also make sure that you don't do anything that would change the date of your file copies so that if there is a problem we can verify when you did the work. I would make and use a separate directory where you can immediately make a copy of any file that you submit.
Please use the course grades page to verify that I recorded your grades correctly. For your safety, you should keep all graded work until after you have received your course grade.
Homework problems: Any homework assignments will be graded on correctnesss and completeness, as well as neatness, clarity, and grammar.
Late policy: Unless otherwise specified, late homework will not normally be accepted. Programming assignments will normally have a 10% per day late penalty, up until when the assignment is graded. Weekends count as one day. Typically I will give each student one opportunity to turn in a written assignment late, but you must ask for permission to do this.
Exams: In exceptional circumstances I may give permission to miss an exam if you contact me in advance. In such cases the weight of your final will be increased. Otherwise a missed exam will be worth 0 points.
Honor Code: This class will be conducted in strict observance of the Honor Code. Please refer to your Student Handbook for details of expected behavior.
Of course, all work that you submit for grading must be your
own. In relation to programs specifically, you may discuss with
other students what task your program is supposed to accomplish.
However, you may not discuss how a program is to accomplish its task
with anyone except me or an authorized tutor. Similarly, you may discuss
with others
how a feature of a language works, but you must not let anyone write
code for you, and you must not use someone else's solution as a basis
for your own.
If you receive any help of any kind on an assignment (such as using a utility routine that you find in a book or on the web), then the work that you turn in must give credit for that help.
Please be aware that if I suspect that you have violated the Honor
Code, then I will not hesitate to file charges with the Dean of Students
Office.
Compilers - On Campus and Personal Machines: Instructions on compiling Ada with campus machines and on where to get compilers and environments for your home machine are here.