University of Arizona, Department of Computer Science CSc 436/536: Software Engineering

CSc 436/536: Software Engineering, Spring 2006


|Home| Syllabus| Lectures| Projects| Links|



Course Description This course introduces students to the fundamental principles and methodologies of Software Engineering. The principles underlying the techniques used in different phases of software development will be discussed in depth. The emphasis will be on understanding why a particular technique should be used and, equally important, why it should not be used. It is assumed that the student has taken a course on data structures and is proficient in programming in at least one programming language such as C++ or Java. The class project will be carried out in teams of 4-6 students each. Each team will first demonstrate and deliver a prototype version of the software to check if it satisfies the client's (the instructor and the teaching assistant for this class) requirements. The final version of the software that incorporates client's feedback will be due at the end of the semester. Refer to class homepage at http://www.cs.arizona.edu/classes/cs436/spring06/index.html
Prerequisites CSc 335, CSc 342 and CSc 352
Meeting Times and Places: TTR 12:30-1:45, Gould-Simpson 906
Instructor Neelam Gupta 
Office: Gould-Simpson 708
Phone:(520)626-8282
Office Hours: 1:50pm-3pm on Tuesdays and Thursdays, and also by appointment.
ngupta@cs.arizona.edu
Teaching Assistant Dennis Jeffrey 
Phone:(520)621-2759
Office Hours:9am-10am on Mondays and Wednesdays, in the CS Department Commons Room (Gould-Simpson 737), and also by appointment.
jeffreyd@cs.arizona.edu
Grader Linh Tran 
linhtran@cs.arizona.edu
Textbook: Fundamentals of Software Engineering
Carlo Ghezzi, Mehdi Jazayeri, Dino Mandrioli.
2nd ed.; Prentice Hall, 2002.
Course Topics: Lecture Topics and Schedule
Grading: 50% Project (20% for prototype demo and documentation; 30% for Final Demo and documentation)  
25%: Midterm Exam  
25%: Final Exam
Policies: Attendance: You are responsible for all the material covered in the class whether you attend the class or not. Regular attendance is strongly recommended.
Exams: Examinations must be taken in the class on the date they are given. A missed exam will result in a score of zero. There will not be any make-up exam unless you have taken permission in advance of the exam.
Academic integrity: If you use any of the existing software tools in your project, they may be used with proper reference of the source. The contributions of each team member to the project work should be reported with each version of the software project. The minimum penalty for any student caught cheating or helping another student cheat on project or exam will be a zero for the project or exam; the maximum penalty will be a failing grade in the course. Also refer to The Univ. of Arizona Code of Academic Integrity.
Use of published work: unless specifically forbidden to do so, you may use material that is publicly available (e.g., in a textbook or a technical journal), provided that appropriate attribution is given. Using material from a textbook, journal, or other such external source without proper attribution is considered to be cheating.