EECS3311 Software Design Summer 2016 Przemyslaw Pawluk

Slides:



Advertisements
Similar presentations
Programming II - Part 1 – Object Oriented Programming with Java Sebastian Uchitel
Advertisements

Fall 2004 WWW IS112 Prof. Dwyer Intro1: Overview and Syllabus Professor Catherine Dwyer.
Carnegie Mellon Communications, Organizations & Technology Course Organization Syllabus Prithvi N. Rao H. John Heinz III School of Public Policy.
General information CSE 230 : Introduction to Software Engineering
Welcome to CS680! Tue Thu 7pm - 8:15pm :-(
Ch4: Software Architecture and Design. 1 The role of analysis and design  Software construction may be partitioned into the following phases:  Req.
July 16, Introduction to CS II Data Structures Hongwei Xi Comp. Sci. Dept. Boston University.
Issues in Teaching Software Engineering Virendra C. Bhavsar Professor and Director, Advanced Computational Research Laboratory Faculty of Computer Science.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 1: Introduction.
Computer Network Fundamentals CNT4007C
Copyright © 2010 Pearson Education, Inc. Publishing as Prentice Hall 1 Introduction to CPSC Introduction to CPSC Information Technology.
Quality Assurance ITEC Rick Price. Expectations This course is not purely a lecture course – Classroom participation is a large portion – Everyone.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 1: Introduction.
BCS 2143 Introduction to Object Oriented and Software Development.
Department of Computer Science Comparative Study of Imperative Programming Languages Vergelijkende studie van imperatieve programmeertalen.
Welcome to CS 3331, Advanced Object-Oriented Programming Fall 2009 Dept. of Computer Science University of Texas at El Paso.
EECE 310 Software Engineering Lecture 0: Course Orientation.
Object-Oriented Analysis and Design OVERVIEW. Objectives  Describe Information Systems  Explain the role of a systems analyst  Introduce object-oriented.
Computer Networks CEN 5501C Spring, 2008 Ye Xia (Pronounced as “Yeh Siah”)
Object Oriented Programming (OOP) Design Lecture 1 : Course Overview Bong-Soo Sohn Assistant Professor School of Computer Science and Engineering Chung-Ang.
Object Oriented Programming (OOP) Design Lecture 1 : Course Overview Bong-Soo Sohn Associate Professor School of Computer Science and Engineering Chung-Ang.
Course Introduction Software Engineering
Sadegh Aliakbary Sharif University of Technology Fall 2012.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
Bilgisayar Mühendisliği Bölümü CENG 102 – Computer Programming Melek OKTAY Syllabus Administrative Information.
CEN 4010 First Lecture January 9, 2006 CEN 4010 Introduction to Software Engineering Spring 2006 Instructor: Masoud Sadjadi
Object Oriented Programming (OOP) Design Lecture 1 : Course Overview Bong-Soo Sohn Associate Professor School of Computer Science and Engineering Chung-Ang.
Object Oriented Programming (OOP) Design Lecture 1 : Course Overview Bong-Soo Sohn Assistant Professor School of Computer Science and Engineering Chung-Ang.
EEE499 Real-Time Embedded Systems Introduction & Course Outline.
CS Welcome to CS 5383, Topics in Software Assurance, Toward Zero-defect Programming Spring 2007.
Course Introduction CEN 5016 Software Engineering Dr. David A. Workman School of EE and Computer Science January 9, 2007.
Introduction ● Course title: – Advanced programming using Java – Object oriented programming in Java ● Textbooks – Thinking in Java 3 rd edition, electronic.
CEN First Lecture CEN 4010 Introduction to Software Engineering Instructor: Masoud Sadjadi
Today’s Agenda  Syllabus  Software Engineering Research.
Object Oriented Programming (FIT-II) J. H. Wang Jan. 31, 2008.
CSI 1340 Introduction to Computer Science II Chapter 1 Software Engineering Principles.
Object Oriented Analysis and Design 1 CREATED BY RUONAN RAO Object-Oriented Analysis and Design.
CS 162 Introduction to Computer Science II Winter, 2014: 60 Spring, 2014: 60 Summer, 2014: 71.
Course Preliminaries Course Objectives Course Objectives Students’ Learning Outcomes Students’ Learning Outcomes Grading Policy Grading Policy Course Resources.
Administrative Information SC/CSE SU10 -- Software Design.
COP4020 INTRODUCTION FALL COURSE DESCRIPTION Programming Languages introduces the fundamentals of the design and implementation of programming languages.
Computer Networks CNT5106C
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 1: Introduction.
1 Welcome Alireza Humber College Lecture 1 Game 540 Alireza
SWE 214 (071) Introduction to UML Slide 1 Introduction to UML.
Data Structures Dr. Abd El-Aziz Ahmed Assistant Professor Institute of Statistical Studies and Research, Cairo University Springer 2015 DS.
Object Oriented Programming (OOP) Design Lecture 1 : Course Overview
Computer Network Fundamentals CNT4007C
INTERNATIONAL BURCH UNIVERSITY
Computer Engineering Department Islamic University of Gaza
INTERMEDIATE PROGRAMMING WITH JAVA
CSc 020: Programming Concepts and Methodology II
Computer Networks CNT5106C
Chapter 5: Object Oriented Analysis and Design
ISE 313 Computer Integrated Manufacturing and Automation
CPSC 441: Computer Communications
Object Oriented Programming (OOP) Design Lecture 1 : Course Overview
MGT 420 Teaching Effectively-- snaptutorial.com
Computer Networks CNT5106C
EECE 310 Software Engineering
Introduction to CPSC3125 Operating System
Introduction to CS II Data Structures
FInal Presentation : Object Oriented Software Engineeering
Course Information EECS 2031 Fall 2016.
ITEC 202 Operating Systems
Computer Engineering Department Islamic University of Gaza
Computer Networks CNT5106C
ITEC 202 Operating Systems
Introduction System Analysis & Design Course
Computer Engineering Department Islamic University of Gaza
Presentation transcript:

EECS3311 Software Design Summer 2016 Przemyslaw Pawluk Course overview EECS3311 Software Design Summer 2016 Przemyslaw Pawluk

Przemyslaw Pawluk pawluk@cse.yorku.ca Course information www.eecs.yorku.ca/course/3311 https://forum.eecs.yorku.ca!

www.eecs.yorku.ca/course/3311 Textbook Class schedule Resources Object-Oriented Software Construction Betrand Meyer Prentice Hall, 1997, ISBN 0-13-629155-4 Class schedule Approximate timing for topics, links to slides used in class Resources Supplementary notes & tool use

https://forum.eecs.yorku.ca Used by the instructor For announcements about the course Report specifications Notification that course work has been graded Used by students To discuss the course material and general problems your with reports NOT for posting solutions for reports Login using your EECS account

Grading system 10% - Assignment 1 10% - Assignment 2 20% - Midterm 25% - Project 25% - Final Exam To pass (D), you are required to have at least 50% over all components

What this course is about Building software systems and components small to medium systems Object oriented design and implementation Design patterns Multiple Inheritance Design by contract for quality software Documenting and describing software Evaluating design decisions according to quality factors

On Software engineering Software engineering is a pure intellectual activity Output is documentation Program text is a form of electronic documentation Difference with other engineering disciplines Software has no physical characteristic no mass, no heat produced Software implements highly complex functions in a flexible way, making it an essential part of other systems

Related topics not covered directly Requirements analysis: figuring out what a customer wants Teaching algorithms, data structures, syntax Teaching programming expect that you know how to program Teaching a programming language use a language to explain and apply the concepts Just getting programs to work a program that executes is one small piece of the solution.

Warning Design is challenging there is no right or wrong way to do it

Why Eiffel? Why not C++? Java? Smalltalk? Objective-C? This isn't a language course! You're here to learn about design Want a language that supports software engineering and production of quality software Want a language that has an integrated development method

Why Eiffel? Want an industrial-strength language (Java? Getting better) Eiffel is used successfully on large projects People who have learned Eiffel and OO have no trouble picking up C++, Java, other design methods (Booch, OMT, UML, Objectory, Fusion) Designers experienced with Eiffel and its methods are generally more experienced, more competent, and more versatile than others

Quick pool Which programming languages do you know?

Discussion What is a program? How do we assure high quality of a program?