Presentation on theme: "-1- CSCI3100 Software Engineering Course Policies and Procedures (class syllabus) Professor Michael Rung-Tsong LYU January 6, 2014."— Presentation transcript:
-1- CSCI3100 Software Engineering Course Policies and Procedures (class syllabus) Professor Michael Rung-Tsong LYU January 6, 2014
-2- STUDENT EXPECTATIONS 1.a positive, respectful, and engaged academic environment inside and outside the classroom; 2.to attend classes at regularly scheduled times without undue variations, and to receive before term-end adequate make-ups of classes that are canceled due to leave of absence of the instructor; 3.to receive a course syllabus 4.to consult with the instructor and tutors through regularly scheduled office hours or a mutually convenient appointment;
-3- STUDENT EXPECTATIONS 5.to have reasonable access to University facilities and equipment for assignments and/or objectives; 6.to have access to guidelines on Universitys definition of academic misconduct; 7.to have reasonable access to grading instruments and/or grading criteria for individual assignments, projects, or exams and to review graded material; 8.to consult with each courses faculty member regarding the petition process for graded coursework.
-4- FACULTY EXPECTATIONS 1.a positive, respectful, and engaged academic environment inside and outside the classroom; 2.students to appear for class meetings timely; 3.to select qualified course tutors; 4.students to appear at office hours or a mutual appointment for official academic matters; 5.full attendance at examination, midterms, presentations, and laboratories;
-5- FACULTY EXPECTATIONS 6.students to be prepared for class, appearing with appropriate materials and having completed assigned readings and homework; 7.full engagement within the classroom, including focus during lectures, appropriate and relevant questions, and class participation; 8.to cancel class due to emergency situations and to cover missed material during subsequent classes; 9.students to act with integrity and honesty.
-6- Course Objective Teach the principles of software engineering in the context of contemporary specification, design, coding, testing, evaluation, and maintenance methodologies. Practice software engineering life-cycle with a real-world project which involves current design and development techniques. Introduce modern software system development techniques including software-intensive applications, distributed systems, Web services, software tools, and Extreme Programming.
-7- Course Description Details include: –software requirement engineering, –specification techniques, –structured design, –structured programming, –top-down design and development, –segmentation and modularization techniques, –information hiding, –iterative enhancement, –design and code inspection techniques, –correctness, –the software life cycle methodology, –extreme programming, –software management, –software validation and verification techniques, –software metrics, –software reliability measurement, –data collection and analysis. This course will focus on state of the art techniques in software design, development, measurement and evaluation. Laboratory experience in applying these techniques will be covered in the development of a modern Web-based mobile software project.
-8- Teaching Staff & Schedule Teaching Staff Lecturer – Prof. Michael R. Lyu, Office: Rm 927, lyu, Phone: TA – Mr. HU Junjie, Office: Rm 1024, jjhu,Phone: TA – Mr. KANG Yu, Office: Rm 101, ykang, Phone: TA – Mr. LING Guang, Office: Rm 1024, gling, Phone: TA – Mr. ZHANG Qi, Office: Rm 1026, zhangqi, Phone: Course account: csci3100 (http://www.cse.cuhk.edu.hk/csci3100) Tutor Group mail: Schedule Lecture: Monday 10:30am-11:15am (ERB LT) Tuesday 10:30am-12:15pm (LSK LT2) Tutorial: Monday 9:30am-10:15pm(ERB LT) Wednesday 5:30pm-6:15pm(ERB 401)
-9- References Major Reference Book: Fundamentals of Software Engineering, Ghezzi, Jazayeri, and Mandrioli, Prentice Hall, 2 nd Edition, Note: 2 copies are reserved in the main library Other references include –Software Engineering: A Practitioners Approach, Pressman, McGraw- Hill, 7 th Edition, –Software Engineering, Sommerville, Pearson/Addison Wesley, 9 th Edition, –Software Engineering: Theory and Practice, Pfleeger, Prentice Hall, 2 nd Edition, –Object-Oriented Software Engineering – Using UML, Patterns, and Java, Bruegge and Dutoit, Pearson/Prentice Hall, 3 rd Edition, –Handbook of Software Reliability Engineering, Lyu (ed.), McGraw-Hill, –Other papers.
-10- Major Topics Motivation – Why Software Engineering instead of ad hoc techniques? General terminology; Introduction to process models Requirements engineering and analysis Specification techniques Specification languages Design principles Design techniques (Object- Oriented Design, UML) Implementation issues Unit test issues and tools System integration testing techniques and tools Modern support tools and automated systems (git) Basic principles of Quality Assurance, risk reduction, Configuration Management. Quantitative measurement and metrics Software reliability modeling and measurements Extreme Programming & Agile Programming Distributed computing (Web Services, Cloud Computing) HTML5 & Java technologies Mobile apps and tools Open Source development environment
-11- Tentative Tutorial Schedule
-12- Course Marking Structure Homework Homework will be assigned only 3 times in this term, with 5 questions in each assignment. The Mid-term Exam There will be a closed-book, open 1-A4-page note mid-term exam on 4 March (Tuesday) at 10:30am-12:15pm. The mid-term exam details will be announced later. Mid-term papers will be returned individually in specially arranged Appointment with Michael day (13/3). The Final Exam There will be one comprehensive final exam according to the final exam schedule. The final exam is open-book, open-note. It will be a 3-hour exam. In-Class Practice In-class practice will be conducted roughly once a week. All participants get bonus. Record for participating the in-class practice will be posted on the course website. Final Course Grade Weightings Your final grade will be determined by applying a curve which looks for natural breakpoints. This policy recognizes the fact that it is difficult to write exams for which the class will provide a predictable and well-behaved mean and variance. Your raw percentage for the course will be calculated based on the following weights: –Homework: 10% –Mid-term Exam: 20% 4 March, 2014 (Tuesday) 10:30am-12:15pm –Project: 30% –Final Exam: 40% –Bonus: In-class practice (0.5 project points for each participated practice)
-13- The CSCI 3100 Project Laboratory of a phased-project will be assigned and conducted according to the schedule in the appended Table. Deliverables of each phase will be graded by the instructor and the tutors. A missing deliverable will receive a score of 0 for that phase assignment. Late submission of a deliverable will be marked and subject to 10-20% grade reduction per day as penalty. A complete package for the project assignment could be picked up through the course account when the project kicks off on 13 January 2014 (next Monday). You may use any computing facility of your convenience to develop the software for the project, but it has to be compatible to the compiler in the CSE departments computing facility, where you would turn in your program. Demo of your project will be separately arranged on 10 April 2014 (Thursday). Note: Laboratory project assignments are to be worked within the team boundary (4 members in a team). Form a team yourselves and let the tutors know before 10 January 2014 the coming Friday regarding who are the members of your team. Teams for the rest students will be assigned by the instructor and the tutors. No joint work over any technical aspects of the project are allowed between any two teams. Any problem about the project should be directed to the tutors through electronic mails, newsgroup discussions, or tutorial sessions. The reason for this policy is to enforce team separation for proper credits. This project should be considered as if there is only one single team, namely your team, responsible for your whole project development. No plagiarism is allowed regarding any aspect of the project. Violations of this policy will result in a failing grade in the course for all students involved.
-14- Project Schedule and Weightings Phase DeliverablesWeightingsDurationsDue Date 0. Project Assignment-- 13 Jan (on Web) 1. Initial Design Document10%5 weeks16 Feb (midnight) 2. Final Design Document10%3 weeks10 Mar (midnight) 3. Initial Code10%~2 weeks16 Mar (midnight) 4. Final Code and Demo50%3 weeks10 Apr (full day) 5. Final Report and Commented Code 20%2.5 weeks27 Apr (midnight) In-class practice bonus7%every weekin class Total107%13.5 weeks