[an error occurred while processing this directive] [an error occurred while processing this directive]
[an error occurred while processing this directive]
[an error occurred while processing this directive]
Monash University

FIT1010 Introduction to software engineering - Semester 2, 2015

This unit provides an introduction to the discipline of software engineering. The emphasis is upon a broad coverage of the areas, since students will at this early stage not have adequate programming skills to tackle many of the topics in greater depth. The notion of a software system as a model or approximation of a desired system is introduced, and used as a way of describing such things as the software life cycle and its various models, programming by contract, design and testing issues, maintenance, reuse, complexity, divide and conquer strategies, metrics and measurement, project management and software legacy.

Mode of Delivery

Clayton (Day)

Workload Requirements

Minimum total expected workload equals 12 hours per week comprising:

(a.) Contact hours for on-campus students:

  • Two hours lectures
  • One 1-hour tutorial
  • One 2-hour laboratory

(b.) Additional requirements (all students):

  • A minimum of 7 hours of personal study per week in order to satisfy the reading and assignment expectations.

See also Unit timetable information

Unit Relationships

Prohibitions

CSE1401

Prerequisites

FIT1002 or FIT1040

Chief Examiner

Campus Lecturer

Clayton

Yuan-Fang Li

Chris Ling

Your feedback to Us

Monash is committed to excellence in education and regularly seeks feedback from students, employers and staff. One of the key formal ways students have to provide feedback is through the Student Evaluation of Teaching and Units (SETU) survey. The University’s student evaluation policy requires that every unit is evaluated each year. Students are strongly encouraged to complete the surveys. The feedback is anonymous and provides the Faculty with evidence of aspects that students are satisfied and areas for improvement.

For more information on Monash’s educational strategy, see:

www.monash.edu.au/about/monash-directions/ and on student evaluations, see: www.policy.monash.edu/policy-bank/academic/education/quality/student-evaluation-policy.html

Previous Student Evaluations of this Unit

This year only minor changes have been made to the unit. Implementation has been removed from lab practicals. The tutorial assessment will not be on participation only, but also on the quality of the work produced.

Staff-Student Meetings: Student also have the opportunity to provide feedback during the semester via student representatives at the Clayton School of IT Staff-Student meetings. Information about who your reps are and minutes of previous meetings are available at:

http://intranet.monash.edu.au/infotech/resources/students/staff-student-meetings/clayton/2013/

If you wish to view how previous students rated this unit, please go to
https://emuapps.monash.edu.au/unitevaluations/index.jsp

Academic Overview

Learning Outcomes

At the completion of this unit, students should be able to:
1. analyse a software engineering scenario and identify advantages and disadvantages of alternative SE life-cycle models;
2 recognise and describe the components of a SE life-cycle model and apply them to a simple problem;
3. produce and evaluate object-oriented software designs represented in a standard SE design formalism;
4. perform basic black-box and white-box testing on a piece of software;
5. describe and compare common SE team structures;
6. work collaboratively to carry out simple software engineering tasks;
7. analyse a professional scenario with respect to the SE Code of Ethics and/or sustainability;
8. synthesise an SE topic and present it to their peers.

Unit Schedule

Week Activities Assessment
0 Check your tutorial and lab class enrolments. No formal assessment or activities are undertaken in week 0
1 Introductions. Note: TUTORIALS START WEEK 1 (Monday/Tuesday) Assessment task 4: Tutorial preparation and participation due weekly in tutorials (Weeks 1 to 12)
2 Software Lifecyles Assessment task 2: Practical class assessments due weekly in lab classes (Weeks 2 to 11)
3 Requirements  
4 Object-oriented design  
5 Analysis  
6 Static and dynamic modelling  
7 Dynamic modelling, team organization  
8 Design workflow  
9 Modules  
10 Implementation and testing  
11 Ethics Assessment task 1: On-line quiz due by 11.55pm on Monday 12 October 2015
12 Intellectual property and review Assessment task 3: Work Folio due Friday
  SWOT VAC No formal assessment is undertaken in SWOT VAC
  Examination period LINK to Assessment Policy: http://policy.monash.edu.au/policy-bank/
academic/education/assessment/
assessment-in-coursework-policy.html

*Unit Schedule details will be maintained and communicated to you via your learning system.

Teaching Approach

Lecture and tutorials or problem classes
This teaching and learning approach provides facilitated learning, practical exploration and peer learning

Assessment Summary

Examination (3 hours): 60%; In-semester assessment: 40%

Assessment Task Value Due Date
On-line quiz 5% To be submitter by 12 Oct 2015 (Week 11)
Practical class assessments 25% Weekly in lab classes (Weeks 2 to 11)
Work Folio 5% Friday, Week 12
Tutorial participation and contribution 5% Weekly in tutorials (Weeks 1 to 12)
Examination 1 60% To be advised

Assessment Requirements

Assessment Policy

Assessment Tasks

Participation

  • Assessment task 1
    Title:
    On-line quiz
    Description:
    An open book, on-line quiz to be completed by the beginning of Week 11. This assessment task relates to learning outcomes 1, 2, 3 and 5.
    Weighting:
    5%
    Criteria for assessment:

    Correct answers demonstrating basic knowledge and understanding of course material.

    Due date:
    To be submitter by 12 Oct 2015 (Week 11)
    Remarks:
    The quiz will cover materials from Week 1 to Week 9. This is an open book quiz.
  • Assessment task 2
    Title:
    Practical class assessments
    Description:
    Range of tasks, including team exercises, software design,implementation. 
    Some work will be assessed individually, whereas for some assessment activities, students will work in pairs.
    This assessment task relates to learning outcomes 2, 3, 4, 6, 7 and 8.
    Weighting:
    25%
    Criteria for assessment:

    For group work, some marks will be for the group as a whole, some for an individual's contribution; details will be specified in the assessment task description.
    Some tasks will be assessed in the lab class itself. When marking is done outside the lab, in most cases students must submit their work at the end of the lab class. Details will be given with each the lab class description provided each week.

    Due date:
    Weekly in lab classes (Weeks 2 to 11)
  • Assessment task 3
    Title:
    Work Folio
    Description:
    Students must produce a range of documents (text, UML diagrams, code, etc) from tutorial and laboratory class activities. These will be collected in a Google Documents folder that will form an "eFolio". A more detailed decription of the requirements for the eFolio will be available on the unit Moodle site.
    This assessment task relates to 1, 2, 3, 4, 5, 6 and 7.
    Weighting:
    5%
    Criteria for assessment:

    A set of guidelines for the eFolio is provided online.
    Criteria for assessing the folio are:

    1. Inclusion of all specified documents (completeness)
    2. Appropriateness of contents and presentation
    3. Organisation
    Due date:
    Friday, Week 12
  • Assessment task 4
    Title:
    Tutorial participation and contribution
    Description:
    Students will work on individual and group based tutorial activities that in most cases align with the previous week's lecture objectives, and the lab class following the tutorial.
    This assessment task relates to learning outcomes 1, 2, 3, 4, 5, 6, 7 and 8.
    Weighting:
    5%
    Criteria for assessment:

    Students will make presentations to the class, which will be assessed for extent of preparation and correctness of the material presented. During tutorial classes students will work in groups on activities which they will record in their eFolios, that will be assessed for completeness and quality of solutions.

    Due date:
    Weekly in tutorials (Weeks 1 to 12)

Examinations

  • Examination 1
    Weighting:
    60%
    Length:
    3 hours
    Type (open/closed book):
    Open book
    Electronic devices allowed in the exam:
    None

Learning resources

Reading list

Recommended (good general "classic" software engineering texts):

  • Pressman: Software Engineering - A practitioner's approach, McGraw-Hill.   (Latest edition?)
  • Sommerville, Software Engineering, Addison-Wesley.    (Latest edition?)

Also, for the "Ethics" topic, the reading will be Chapter 8 from

  • Michael J. Quinn. Ethics for the Information Age, 4th Edition. Boston, MA: Addison-Wesley, 2011 (available electronically from the Monash library reading list: http://lib.monash.edu/resourcelists/f/fit1010.html

Monash Library Unit Reading List (if applicable to the unit)
http://readinglists.lib.monash.edu/index.html

Feedback to you

Types of feedback you can expect to receive in this unit are:

  • Informal feedback on progress in labs/tutes
  • Graded assignments with comments
  • Graded assignments without comments
  • Quiz results
  • Solutions to tutes, labs and assignments

Extensions and penalties

Returning assignments

Resubmission of assignments

If students do not attend a laboratory class, they cannot submit work for that assessment later. Late or resubmissions may be permitted at the discretion of the demonstrator or lecturer, for example if there have been technical difficulties during the laboratory class.

Assignment submission

It is a University requirement (http://www.policy.monash.edu/policy-bank/academic/education/conduct/student-academic-integrity-managing-plagiarism-collusion-procedures.html) for students to submit an assignment coversheet for each assessment item. Faculty Assignment coversheets can be found at http://www.infotech.monash.edu.au/resources/student/forms/. Please check with your Lecturer on the submission method for your assignment coversheet (e.g. attach a file to the online assignment submission, hand-in a hard copy, or use an electronic submission). Please note that it is your responsibility to retain copies of your assessments.

Online submission

If Electronic Submission has been approved for your unit, please submit your work via the learning system for this unit, which you can access via links in the my.monash portal.

Required Resources

Please check with your lecturer before purchasing any Required Resources. Limited copies of prescribed texts are available for you to borrow in the library, and prescribed software is available in student labs.

Prescribed text: (the lectures will follow this text quite closely, and the lecture slides from the text will be made available)

  • Stephen R. Schach: Object-Oriented Software Engineering, 2008. McGraw-Hill 2008.

(Note: Schach's "Object-Oriented & Classical Software Engineering", 7th Edition and 8th Edition are very similar, and can be used in place of the 2008 "Object-oriented" version, if need be).

Recommended Resources

Pressman, R. S. (2009), Software engineering : a practitioner's approach, 7th Edition, McGraw-Hill, Dubuque, IA.

Sommerville, I, (2011), Software engineering, 9th Edition, International Edition, Addison-Wesley, Harlow.

Satzinger, J.W, Jackson, R.B., Burd, S.D. (2005), Object-Oriented Analysis and Design with the Unified Process, Course Technology.

If you wish to work from home, instruction for installing Python and the Aptana IDE are provided.

No installation support will be provided for home installations.

Examination material or equipment

The exam will be an "open book" exam. Students may take in textbooks, any of the unit teaching material and any notes they have made themselves. More details will be provided on the unit Moodle site prior to the exam.

Other Information

Policies

Monash has educational policies, procedures and guidelines, which are designed to ensure that staff and students are aware of the University’s academic standards, and to provide advice on how they might uphold them. You can find Monash’s Education Policies at: www.policy.monash.edu.au/policy-bank/academic/education/index.html

Faculty resources and policies

Important student resources including Faculty policies are located at http://intranet.monash.edu.au/infotech/resources/students/

Graduate Attributes Policy

Student Charter

Student services

Monash University Library

Disability Liaison Unit

Students who have a disability or medical condition are welcome to contact the Disability Liaison Unit to discuss academic support services. Disability Liaison Officers (DLOs) visit all Victorian campuses on a regular basis.

Other

Engineers Australia Stage 1 competencies

This unit is a core unit in the Bachelor of Software Engineering accredited by Engineers Australia. Engineers Australia Accreditation Policy of Professional Engineering Programs requires that programs demonstrate how engineering graduates are prepared for entry to the profession and achieve Stage 1 competencies. The following information describes how this unit contributes to the development of these competencies for the Bachelor of Software Engineering. (Note: not all competencies may be emphasised in this unit).

Stage 1 competency How the compency is developed in this unit
 1. Knowledge and Skills base  
 1.1. Comprehension, theory based understanding of the underpinning natural and physical sciences and the engineering fundamentals applicable to the engineering discipline. Theoretical lecture materials, prescribed texts and recommended reading, tutorials and laboratory tasks (early semester).
 1.2. Conceptual understanding of the mathematics, numerical analysis, statistics, and computer and information sciences, which underpin the engineering discipline. Not covered in thius unit.
 1.3. In-depth understanding of specialist bodies of knowledge within the engineering discipline. Lecture materials, tutorials and lab exercises relating to life cycle models, requirements analysis techniques, design notations, and quality assurance techniques.
 1.4. Discernment of knowledge development and research directions within th engineering discipline. Lectures and student tutorial presentations discuss the evolution of SE methodologies. Lectures mention some areas of current SE research, but it is not a focus in an introductory unit.

 1.5. Knowledge of engineering design practice and contextual factors impacting the engineering discipline.

Lecture and tutorial content on process models relates customer and project attributes to process model selection. Lectures discuss sources and consequences of failure, both contemporary and historical.
 1.6. Understanding of the scope, principles, norms, accountabilities and bounds of sustainable engineering practice in the specific discipline. Lectures and tutorials discuss the ACM/IEEE Software Engineering Code of Ethics and its applicability to case studies.
 2. Engineering application ability  
 2.1. Application of established engineering methods to complex engineering problem solving. The core content of the unit is teaching the principal workflows of a standard software engineering process model through lectures, tutorials, and practical exercises.
 2.2 Fluent application of engineering techniques, tools and resources. Students learn to use design notations such as UML and create diagrams using tools such as UMLet.
 2.3. Application of systematic engineering synthesis and design processes. Students are taught standard analysis and design techniques, including object-oriented analysis, static analysis, dynamic analysis, and architectural and detailed design. These are covered extensively in lectures, tutorials, and practical exercises.
 2.4. Application of systematic approaches to the conduct and management of engineering projects. A number of software engineering process models are discussed in lectures, and one process model is discussed more extensively and used throughout the practical exercises. Different types of project team structures are discussed in lectures.
 3. Professional and personal attributes  
 3.1. Ethical conduct and professional accountability. Lectures and tutorials discuss the ACM/IEEE Software Engineering Code of Ethics and its applicability to case studies.
 3.2. Effective oral and written communication in professional and lay domains. Lectures, tutorials, and lab exercises cover requirements elicitation and documentation extensively. Design and code documentation is discussed in lectures and assessed in practical exercises. Students present on software engineering topics within tutorials. All practical exercises are conducted in pairs, forcing students to clearly communicate their work to their partners.
 3.3. Creative, innovative and proactive demeanour. Analysis and design, the unit's primary focus, is inherently a creative activity and this aspect is reinforced in lectures, tutorials, and practical exercises.
 3.4. Professional use and management of information. Confidentiality and intellectual property issues are analyzed in lectures and tutorials.
 3.5. Orderly management of self, and professional conduct. These issues are discussed in the ethics component of the course, and are covered in lectures and tutorials.
 3.6. Effective team membership and team leadership. Team structures and software engineering roles are discussed in lectures, and all student practical exercises are conducted in pairs.

Relationship between Unit Learning Outcomes and BSE Course Outcomes

No. CO 1 CO 2 CO 3 CO 4 CO 5 CO 6 CO 7 C0 8 CO 9 CO 10 CO 11 CO 12 CO 13
 1    X        X              
 2    X  X                    
 3    X  X                    
 4        X X                
 5                  X        
 6                X  X        
 7            X            X  
 8    X            X          

Relationship between Unit Learning Outcomes and Assessments

No. Assignments Quizzes Practical Exercises Exam
1        X
2      X  X
3      X  X
4      X  X
5        X
6      X  
7        X
8      X  

 

[an error occurred while processing this directive]