Introduction to COM379 COM379 University of Sunderland Harry R Erwin, PhD.

Slides:



Advertisements
Similar presentations
1 433 – 254: Software Design Rajkumar Buyya Grid Computing and Distributed Systems Lab Dept. of Computer Science and Software Engineering University of.
Advertisements

Introduction to System Analysis and Design
CM10134-CM50147 Programming I Basic Programming in Java Marina De Vos.
CS/CMPE 535 – Machine Learning Outline. CS Machine Learning (Wi ) - Asim LUMS2 Description A course on the fundamentals of machine.
General information CSE 230 : Introduction to Software Engineering
1 CS 425 / CS 625 Software Engineering Fall 2007 Course Syllabus August 27, 2007.
Welcome to CS680! Tue Thu 7pm - 8:15pm :-(
CS 447 Distributed Objects Instructor: Shangping Ren.
CS565 Advanced Software Development (1 unit) Lecturer: Adrian O’Riordan Contact: is Office: prefab, behind.
Fundamentals of Information Systems, Second Edition
1 Info 1409 Systems Analysis & Design Module Lecture 8 – Modelling tools and techniques HND Year /9 De Montfort University.
CSC 111 Course orientation
Chapter 1 Program Design
R R R CSE870: Advanced Software Engineering: Cheng (Sp 2001)CSE870: Advanced Software Engineering: Cheng (Sp 2001)1 Mini Project An Overview.
Section 01Resources1 HSQ - DATABASES & SQL 01 Resources And Franchise Colleges Name :MANSHA NAWAZ room :G 0/32
CS 8532: Adv. Software Eng. – Spring 2007 Dr. Hisham Haddad Tuesday Class will start momentarily. Please Stand By … CS 8532: Advanced Software.
1 Software Engineering CEN5035 copyright © 1996, 2001 R.S. Pressman & Associates, Inc.
Issues in Teaching Software Engineering Virendra C. Bhavsar Professor and Director, Advanced Computational Research Laboratory Faculty of Computer Science.
Lesson 7 Guide for Software Design Description (SDD)
Intelligent Systems Programming COMM2M Harry R. Erwin, PhD University of Sunderland.
EECE 310 Software Engineering Lecture 0: Course Orientation.
Qualifications Update: Higher Art and Design Qualifications Update: Higher Art and Design.
SE-308 Software Engineering-II 7th Term SE University of Engineering & Technology Taxila, Pakistan Software Engineering Department.
Chapter 1: Introduction to Project Management
© Yilmaz “Agent-Directed Simulation – Course Outline” 1 Course Outline Dr. Levent Yilmaz M&SNet: Auburn M&S Laboratory Computer Science &
20-753: Fundamentals of Web Programming 1 Lecture 1: Introduction Fundamentals of Web Programming Lecture 1: Introduction.
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
Course Guide IS325 Systems Analysis & Design II Ms Fatima Khan Prince Sultan University, College for Women.
Introduction University of Sunderland CIT304 Harry R Erwin, PhD.
Introduction University of Sunderland CSEM02 Harry R Erwin, PhD Peter Dunne, PhD.
Introduction to CSE301 CSE301 University of Sunderland Harry R Erwin, PhD.
Information System Development Courses Figure: ISD Course Structure.
Systems Analysis and Design in a Changing World, 3rd Edition
Course Overview Stephen M. Thebaut, Ph.D. University of Florida Software Engineering Foundations.
CS255 Communication Skills Aidan Mooney
CS 4850: Senior Project Fall 2014 Object-Oriented Design.
Qualifications Update: Human Biology Qualifications Update: Human Biology.
Dale Roberts Object Oriented Programming using Java - Introduction Dale Roberts, Lecturer Computer Science, IUPUI Department.
Course Introduction CEN 5016 Software Engineering Dr. David A. Workman School of EE and Computer Science January 9, 2007.
University of Limerick1 Computer Applications CS 4815 Robocode.
CEN First Lecture CEN 4010 Introduction to Software Engineering Instructor: Masoud Sadjadi
1 OO Analysis & Design - Introduction to main ideas in OO Analysis & design - Practical experience in applying ideas.
CS-112 Object Oriented Concepts Course Syllabus. Outline  Instructor and Prerequisites  What this course is  Learning outcomes  Degree program outcomes.
1 OO Analysis & Design - Introduction to main ideas in OO Analysis & design - Practical experience in applying ideas -A large element is use of UML as.
Design Reuse Earlier we have covered the re-usable Architectural Styles as design patterns for High-Level Design. At mid-level and low-level, design patterns.
Administrative Information SC/CSE SU10 -- Software Design.
1 Here are some quotations to get an overview of the kinds of issues of interest.
CSIS 4850: CS Senior Project – Spring 2009 CSIS 4850: Senior Project Spring 2009 Object-Oriented Design.
Fundamentals of Software Engineering. Instructor: Dr. Kal Bugrara Office: Snell Engineering, Rm 267 Office Hours: Sat: 12:00-2:00 pm Phone
Program Design. Simple Program Design, Fourth Edition Chapter 1 2 Objectives In this chapter you will be able to: Describe the steps in the program development.
1 CS 425 / 625 Software Engineering Fall 2003 Course Syllabus August 25, 2003.
Course Overview Stephen M. Thebaut, Ph.D. University of Florida Software Engineering.
Introduction to Web Technologies Module Introduction to Web Technologies – CS th January 2005 Dr Bogdan L. Vrusias
Advanced Higher Computing Science The Project. Introduction Worth 60% of the total marks for the course Must include: An appropriate interface using input.
CS140 – Computer Programming 1 Course Overview First Semester – Fall /1438 – 2016/2017 CS140 - Computer Programming 11.
Advanced Higher Computing Science
EECS3311 Software Design Summer 2016 Przemyslaw Pawluk
Systems integration and Testing INSE 6421
Computer Engineering Department Islamic University of Gaza
Software Engineering (1)
CS101 Computer Programming I
CSc 020: Programming Concepts and Methodology II
CS 519: Object-Oriented Analysis & Design IS 516: Selected Topics in Information Technology Instructor: Dr. Tarek Elghazaly Text Book: Craig Larman,
Principles of Computing – UFCFA Lecture-1
Two part course Software Engineering option only!
ECE 751: Embedded Computing Systems Prof
EECE 310 Software Engineering
CS 8532: Advanced Software Engineering
Computer Engineering Department Islamic University of Gaza
Computer Engineering Department Islamic University of Gaza
Presentation transcript:

Introduction to COM379 COM379 University of Sunderland Harry R Erwin, PhD

Purpose The purpose of COM379 (Advanced Object Oriented Design) is to prepare an advanced beginner for an entry-level programming position in an organization that uses object-oriented design. This module corresponds to CS111o and CS112o in the ACM model curriculum. For further information, see:

Responsibility Dr. Harry Erwin is the Module Leader for COM379 at the University of Sunderland. You will see ‘I’ in these presentations from time to time. That’s Dr. Erwin speaking based on his experience. My primary research areas are computational neuroscience and auditory neuroethology—‘How bats do it.’ I also have 34 years of experience as a software systems engineer (mostly at TRW) on high-reliability systems. I supervise final year/MSc projects and PhD research in intelligent systems, security, and software engineering. or

Objectives Be able to synthesize and document an object-oriented design using object-oriented analysis and design techniques. Develop an awareness of the development processes that underlie OO development. Learn the principles of designing and constructing Engineered Interactive Interfaces (GUIs). Develop a critical awareness of the concepts of event driven and client server application development. Choose and implement appropriate OO solutions from problem descriptions, using a toolkit. Critically appraise, evaluate, and implement designs using Java. Understand current development practices and environments.

Scope of the Module Terminology Theory An Object-Oriented Programming Language (Java) Object-Oriented Methodology Design Patterns

Outline 25 PowerPoint Presentations 16 Tutorials 1 TCT (1 hour midterm) 4 Projects –2 marked by the local lecturer (1 and 3). These are for practice. –2 marked by the module leader (2 and 4). These count. 1 Comprehensive Examination

Texts Key texts that students are strongly encouraged to buy: –R Pooley and P Stevens, 2000, Using UML Software Engineering with Objects and Components, updated edition, Pearson Education Limited, ISBN: –J Hunt, 1999, Java for Practitioners, Springer, ISBN: – (a free download!) Support texts students should have access to: –D. Flanagan, 1999, Java in a Nutshell, fourth edition, O'Reilly, ISBN: –Other texts in the O’Reilly Nutshell series ({Java Foundation Classes|Java Enterprise|Java Examples|UML} in a Nutshell). –I. Graham, 2001, Object-Oriented Methods, 3rd edition, Addison-Wesley. A post-graduate text for advanced students. –Gamma, et al., 1995, Design Patterns, Addison-Wesley. Also advanced. Other texts, papers, and websites will be cited from time to time. Cetus Links:

Tutorial Topics 4 tutorials are project surgeries. 1 tutorial for the midterm TCT. The 11 remaining tutorials will cover the Java language (using Sun tutorial resources) and the UML 4+1 methodology (using papers at Work through these at your own pace.

Presentation Topics Definitions (two presentations) Theory (concepts and principles) (four presentations) Methods (4+1 methodology) (four presentations) Java 2 (1.3.1 SDK) (six presentations) Design Approaches (four presentations) Patterns (four presentations)

My Informal Marking Criteria A first is supposed to mean that the student is qualified for an entry level position and can safely work on high- reliability applications. An upper second is supposed to mean that the student is qualified for an entry level position and—with experience—might safely work on high-reliability applications. A lower second is supposed to mean that the student is qualified for an entry level position. A third is supposed to mean that the student—with additional programming practice—can reach entry level qualification.

Course Marking Two elements: coursework and examination, each counting half. Programming projects are 80% of the coursework mark. It is possible to earn 100 marks on a project. The TCT counts 20% of the coursework mark. It has three purposes: –To reward early engagement with the module materials –To provide early warning of problems with the lecture material –As practice for the comprehensive examination Coursework and exam marks must be at least 35% and the module mark must be at least 40% to pass.

Project Marking Deliverables include: –A floppy disk (or zipfile if electronically submitted) with the code required to run the project. This must compile and run with the Java SDK. No proprietary extensions allowed! –A sample compilation and run of the project. –Program documentation, including a listing. Marking: –40 marks for success –20 marks for implementation –40 marks for documentation The marking standard is based on what a fully competent entry-level programmer would be expected to produce.

Success 10 marks if a program designed to meet the project requirements can be compiled successfully by the Java SDK, 10 marks if it runs in that environment, 10 marks if most of the requirements are met, and The last 10 marks if all requirements are met. You are expected to discuss requirements deficiencies in your status report.

Implementation 10 marks for good object-oriented design 10 marks for good commenting and choice of names.

Documentation Up to 5 marks for your status report, discussing overall success or failure and lessons learned. Up to 5 marks for answering the questions posed for the project. Up to 10 marks for documentation of your requirements –Traceability to the design –A test report showing how they are met –A sample compilation and run of the project Up to 20 marks for documentation of your design –Overview of your architecture and design, –Structural and behavioral diagrams, –Written descriptions of each class, –Any necessary algorithm documentation (NS diagrams, PDL, or similar) –Program listing

Fairness in Marking During marking, projects will be checked to determine if there is evidence for collaboration or cheating. The mean coursework mark is expected to be about 67. Note that that students will be able to earn 100 marks on projects for professional-quality work. The examination will be designed for a mean mark of about 53 and a standard deviation of about 18, so that passing the module is controlled by examination performance.

Collaboration The following are permitted: –Cooperation in developing an understanding of the requirements. “What we don’t understand, we explain to each other.” –Cooperation in the diagnosis of bugs and problems as long as the helper does not provide code solutions. –These are pedagogically valuable and allowed. The following are not allowed: –Collaboration in developing project documentation and figures. Write your own report! –Collaboration in designing and coding the project. Come up with your own design and write your own code! As long as similarity remains at or above the subsystem or pattern level, not extending into the detailed design and code, it will not be penalized as collaboration.

Allowed External Sources of Code and Design Code provided by the instructor, Code generated by tools, Code from the key texts Code from the reference texts Code from including the supporting materials Code from Gamma, et al., Design Patterns. You must cite your use of this material in the code module where it is used.

Questions?