Introduction to CMPT 225. What’s on the menu? Grading Course content Who’s who The story of life.

Slides:



Advertisements
Similar presentations
PROGRAMMING LANGUAGE (JAVA) UNIT 42 BY ROBERT BUTTERFIELD TELEPHONE Data Structures and Algorithms.
Advertisements

CMPT 275 Software Engineering
Data Structures.
An Introduction to Programming and Object Oriented Design using Java 2 nd Edition. May 2004 Jaime Niño Frederick Hosch Chapter 0 : Introduction to Object.
Software Quality Assurance Inspection by Ross Simmerman Software developers follow a method of software quality assurance and try to eliminate bugs prior.
CMPT 225 Data Structures and Programming. Course information Lecturer: Jan Manuch (Jano), TASC TAs: Osama Saleh,
Chapter 6: Design of Expert Systems
1 CENG 707 Data Structures and Algorithms Nihan Kesim Çiçekli Department of Computer Engineering Middle East Technical University Fall 2010.
June 13, Introduction to CS II Data Structures Hongwei Xi Comp. Sci. Dept. Boston University.
CMSC 132: Object-Oriented Programming II
CMSC 132: Object-Oriented Programming II Nelson Padua-Perez William Pugh Department of Computer Science University of Maryland, College Park.
CS351 - Software Engineering (AY2005)1 What is software engineering? Software engineering is an engineering discipline which is concerned with all aspects.
1 CMSC 132: Object-Oriented Programming II Software Development III Department of Computer Science University of Maryland, College Park.
1 ES 314 Advanced Programming Lec 2 Sept 3 Goals: Complete the discussion of problem Review of C++ Object-oriented design Arrays and pointers.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
1 Section 9.2 Tree Applications. 2 Binary Search Trees Goal is implementation of an efficient searching algorithm Binary Search Tree: –binary tree in.
July 16, Introduction to CS II Data Structures Hongwei Xi Comp. Sci. Dept. Boston University.
Planning. SDLC Planning Analysis Design Implementation.
DATA STRUCTURE Subject Code -14B11CI211.
Data Structures and Programming.  John Edgar2.
1 Object Oriented Programming Computer Systems Engineering (D2) and Programming (P)
Teaching Teaching Discrete Mathematics and Algorithms & Data Structures Online G.MirkowskaPJIIT.
Implementation Yaodong Bi. Introduction to Implementation Purposes of Implementation – Plan the system integrations required in each iteration – Distribute.
Data Structures and Programming.  Today:  Administrivia  Introduction to 225, Stacks  Course website: 
Data Structures Lecture 1: Introduction Azhar Maqsood NUST Institute of Information Technology (NIIT)
CSCA48 Course Summary.
AGENDA Introduction to Virtual Mechanic Demo Architectural diagram and summary QA steps and user acceptance testing Bugs in the software Feedback from.
Lecture 1Software Engineering1 (Trimester I Session 2002/2003) Lecturer / Tutor Name : Mr. R. Logeswaran
Java Collections An Introduction to Abstract Data Types, Data Structures, and Algorithms David A Watt and Deryck F Brown © 2001, D.A. Watt and D.F. Brown.
Data Structure Dr. Mohamed Khafagy. Welcome to the course Data Structure Personal Web Site Course
Chapter 10 Strings, Searches, Sorts, and Modifications Midterm Review By Ben Razon AP Computer Science Period 3.
Instructor Information: Dr. Radwa El Shawi Room: Week # 1: Overview & Review.
DATA STRUCTURES (CS212D) Week # 1: Overview & Review.
CS212: DATA STRUCTURES Lecture 1: Introduction. What is this course is about ?  Data structures : conceptual and concrete ways to organize data for efficient.
Design and Analysis of Algorithms 4 th Semester Computer Engineering Spring 2015 Conf.dr.ing. Ioana Sora
1 CSC 222: Computer Programming II Spring 2004 See online syllabus at: Course goals:
I Power Higher Computing Software Development The Software Development Process.
ITEC 2620M Introduction to Data Structures Instructor: Prof. Z. Yang Course Website: ec2620m.htm Office: Tel 3049.
The development of common partnership and interuniversitary scientific research according to the principle of sustainable development TRAINING COURSE Romania,
CS Data Structures I Chapter 2 Principles of Programming & Software Engineering.
Lecture 11 Data Structures, Algorithms & Complexity Introduction Dr Kevin Casey BSc, MSc, PhD GRIFFITH COLLEGE DUBLIN.
1 CSCD 326 Data Structures I Software Design. 2 The Software Life Cycle 1. Specification 2. Design 3. Risk Analysis 4. Verification 5. Coding 6. Testing.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
90-723: Data Structures and Algorithms for Information Processing Copyright © 1999, Carnegie Mellon. All Rights Reserved. 1 Lecture 1: Introduction Data.
Collections Data structures in Java. OBJECTIVE “ WHEN TO USE WHICH DATA STRUCTURE ” D e b u g.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Understanding General Software Development Lesson 3.
Data Structures and Algorithms in Java AlaaEddin 2012.
DATA STRUCTURES (CS212D) Overview & Review Instructor Information 2  Instructor Information:  Dr. Radwa El Shawi  Room: 
Data Structures What The Course Is About Data structures is concerned with the representation and manipulation of data.
Progression in KS3/4 Algorithms MONDAY 30 TH NOVEMBER SUE SENTANCE.
Understanding General Software Development Lesson 3.
Design and Analysis of Algorithms 4 th Semester Computer Engineering Spring 2016 Conf.dr.ing. Ioana Ṣ ora
Advanced Higher Computing Science The Project. Introduction Worth 60% of the total marks for the course Must include: An appropriate interface using input.
Data Structures Dr. Abd El-Aziz Ahmed Assistant Professor Institute of Statistical Studies and Research, Cairo University Springer 2015 DS.
Advanced Higher Computing Science
CSCE 210 Data Structures and Algorithms
CSC 222: Object-Oriented Programming
CSC 222: Computer Programming II
Topic: Introduction to Computing Science and Programming + Algorithm
It’s called “wifi”! Source: Somewhere on the Internet!
Algorithm Design and Analysis
Unit# 9: Computer Program Development
Introduction to Data Structures
Introduction to CS II Data Structures
Chapter 0 : Introduction to Object Oriented Design
Week # 1: Overview & Review
Data Structures and Algorithms for Information Processing
Administrivia- Introduction
Administrivia- Introduction
Presentation transcript:

Introduction to CMPT 225

What’s on the menu? Grading Course content Who’s who The story of life

Introduction to CMPT 225 Midterm: 25% Final: 40% Quizzes: 4% Assignments: 23% Labs: 12% You must attain an overall passing grade on these to obtain a clear pass: a grade of C or better. 5 assignments, 6 labs Quizzes are bonus to assignments/labs Academic Honesty plays a key role in our efforts to maintain a high standard of academic excellence and integrity. Students are advised that ALL acts of intellectual dishonesty are subject to disciplinary action by the School; serious infractions are dealt with in accordance with the Code of Academic Honesty (T10.02) Grading

Course Content For a given problem, you will be able to: Construct an abstract solution (modular design) Select an appropriate data structure (Lists, Stacks, Trees…) Use these structures in an efficient way (algorithm design) Implement the solution in Java (programming techniques) Introduction to CMPT 225 Messy description of problem from customers Solution with several components Each component will manipulate data. This data is stored in the computer in a certain way.

An example of what this is all about Introduction to CMPT 225 Our customer: SFU’s administration. What they want: keeping track of students. First step of design: what are the components we are dealing with? A student component, and a set of students. Second step of design: what are main operations on students? The administration will search for students and add students. What data structures do we have?

An example of what this is all about Introduction to CMPT 225 What data structures do we have? In a linked list: When a new student comes, he simply connects to the previous To find a student, we go through the list ‘til the end or ‘til we find. If there are n students, that can take at most O(n) time steps. Adding a student is immediate (doesn’t depend on n) : O(1).

An example of what this is all about Introduction to CMPT 225 What data structures do we have? In a binary tree: When a new student A comes, it takes the right hand of a student B ID(B) > ID(A) and the left hand otherwise Adding takes longer than in the list, but what about searching?

An example of what this is all about Introduction to CMPT 225 If you now learn that SFU’s administration searches students 80% of the time and insert new students 20% of the time, which data structure would you recommand? A binary tree. Intuition : insertion is slower than in a linked list, but searching is faster.

This course and other ones at SFU Introduction to CMPT 225 If we describe a simple task, you can program it. CMPT 101, 104, 125, 126 or 128; or CMPT 128. CMPT 225. Start finding out the components of a program. Program efficiently. CMPT 307.CMPT 275.CMPT 383.

The story of life Introduction to CMPT 225 Step 1: Figure out what your customer wants you to do. Specification Step 2: Find the components of the problem and abstract it. Design Step 3: That’s a business, you pay people, time costs money. Risk Analysis Step 4: Theoretical tools can ensure that your design works before you actually implement it. Verification Step 5: At some point, you actually have to write something… Testing Step 6: …and it’s better if it’s written correctly. Refining Step 7: If you have more time, you can always improve things. Distribute Step 8: Eventually, you may want people to use your software. Documentation. Coding