CSCE 240 -- Introduction to Software Engineering
General Information for Spring 2003
Course Description
CSCE 240 is the third course in the introductory sequence of courses. Enrollment in CSCE 240 requires a grade of C or higher in CSCE 146. Emphasis in this course is on the tools and techniques necessary to create larger programs.
|
Instructor |
Bob Cannon |
|
Office |
Swearingen Engineering Center 3A63 |
|
|
cannon@sc.edu |
|
Telephone |
777-6853 |
|
Office Hours |
W 1330-1530 |
|
Course Assistant |
Rajagopalan Santhanaraman |
|
Office |
All office hours will be in 1D29 Swearingen |
|
|
|
|
Telephone |
779-3281 |
|
Office Hours |
Monday 1400-1700 |
Course Goals
To introduce principles and practices of software engineering
To apply software engineering principles in the development of computer programs
The syllabus for the course may be viewed here.
Course Structure
The course will consist of two components.
Lectures present course material. The lecture will move along quite fast, and you will need to be present in order to keep up with all that is presented. Roll will be taken, and, in accordance with the USC Catalog, a grade penalty may be applied for missing more than three lectures for any reason.
Assignments measure your mastery of course material. You are expected to do all assignments and hand them in at the appointed time. I intend to have you submit programs electronicallhy. The electronic submission program will not accept programs after the specified time.
Warning: computer science is not a spectator sport. If you get behind, it will be extremely difficult to catch up.
Programs, Quizzes, and Other Assignments
You will be required to complete programming assignments as part of this course. You must design a solution to the assigned problem and implement it using the Java language. You are expected to write programs that are properly documented and formatted. Assignments will include written discussions of test cases and techniques.
If you have a personal computer, you will probably find it convenient to work on your programming assignments at home. Three suggested environments for developing Java code are the emacs editor with the JDK 1.3 or the Sun ONE Studio 4 Community Edition. The latest Java Development Kit is 1.4.1, available from java.sun.com. You will also find it useful to reference the Java API. You can access it online or download it.
Programming assignments can be developed in either the UNIX or Windows environment. They must be submitted using the dropbox program on the Sun Ultra computers in the Department of Computer Science and Engineering. This program is accessible at https://www.cse.sc.edu. Your programs will be tested using Java 1.4.1 on the Sun Ultra computers in the Department of Computer Science and Engineering using automated testing procedures, so it is important that you follow exactly the instructions for program code submission. Results of automated testing will be sent to your cse.sc.edu address.
Problems with the Windows environment are to be addressed to the support staff of the College of Engineering and Information Technology in the Swearingen Engineering Center.
Email
You have been assigned an email address xxx@cse.sc.edu. Mail for the course will be sent to that address. You can read mail at mail.cse.sc.edu. It is your responsibility to read and respond to that mail when appropriate. If you don't intend to read mail by accessing the CSE department server, then you should set up forwarding to your preferred email address. Forwarding can be set up at mail.cse.sc.edu.
Blackboard
Most course materials will be available via Blackboard at blackboard.sc.edu. Included at Blackboard will be access to course lecture notes, assignments, and your grades. Announcements regarding the course will also be available there. It is your responsibility to read the course announcements page frequently, as additional information regarding the course, e.g., clarifications regarding the assignments, will be available there. Your login for Blackboard is your USC user id and password.
To access Blackboard you will need your USC username and password. The login screen for blackboard has new instructions for updating your USC password.
Most usernames for the College of Engineering and Information Technology are the same as your USC username. When logging into computers in the College of Engineering or the Department of Computer Science and Engineering, use the username that you obtain from vip.sc.edu. (Exceptions will have to be dealt with as special cases.) Your initial password is your nine-digit USC student id. When using Windows computers anywhere in Swearingen be certain that the login screen shows the Engineering domain.
Grading
Final grades will be determined as follows:
|
assignments |
45% |
|
tests |
35% |
|
final exam |
20% |
The weights of various assignments will not be the same. As assignments become more difficult and require more time they will be a greater percentage of the course grade.
Your final grade will be determined by the following formula:
|
A |
final average >= 90 |
|
B |
final average >=80 |
|
C |
final average >=70 |
|
D |
final average >=60 |
|
F |
final average < 60 |
N.B., In order to make a grade of C in the course your grade on tests and the final exam must average at least a C.
Program grades will be based upon the
following formula:
|
40% Style |
20% explanatory code comments in Javadoc style |
|
10% format, e.g., indentation and use of white space |
|
|
10% clarity, simplicity, efficiency |
|
|
60% Correctness |
40% correct output for all reasonable input |
|
20% meets requirements |
Textbook
and Materials
The required textbooks for the course are:
Lethbridge and Laganiere, Object-Oriented Software Engineering. McGraw-Hill, 2001.
Late
and Make-up Policies
Each assignment will indicate the date and hour that your program code and program writeup are due. The dropbox program will not allow late submissions of program code.
Honor
Code
You are expected to know and abide by the Rule of Academic Responsibility found in the Carolina Community guide. You may to work together to understand course concepts, but programming assignments are to be individual work. It is a violation of the Rule of Academic Responsibility for two or more students to work together as a team for solving a problem unless you are instructed to do otherwise. Sometimes it is difficult to distinguish studying together from working on a program together. A safe guideline is never to look at anyone else's program or to show your program to anyone else. Unauthorized copying or using someone else's program is plagiarism. Programs with significant structural similarity will be considered plagiarized. The penalty for plagiarism may be a grade of F for the course.
Class Attendance
The USC Bulletin states
Students are obligated to complete all assigned work promptly, to attend class regularly, and to participate in whatever class discussion may occur.
Absence from more than 10 percent of the scheduled class sessions, whether excused or unexcused, is excessive and the instructor may choose to exact a grade penalty for such absences.
A student who is not present for more than three classes may have his or her final course grade decreased by one letter grade; a student who is not present for more than six classes may have his or her final course grade decreased by two letter grades; a student who is not present for more than nine classes may receive the grade of F for the semester.
Date of last update: 20030116