COS 121 - Sept 9, 2005 Key Issues in Programming Stefan Brandle.

Slides:



Advertisements
Similar presentations
HDL Programming Fundamentals
Advertisements

Chapter 5 Errors Bjarne Stroustrup
PHP Reusing Code and Writing Functions.
CSCE 121: Introduction to Program Design and Concepts Dr. J. Michael Moore Spring 2015 Set 7: Errors 1 Based on slides created by Bjarne Stroustrup.
Object Oriented Design An object combines data and operations on that data (object is an instance of class) data: class variables operations: methods Three.
API Design CPSC 315 – Programming Studio Fall 2008 Follows Kernighan and Pike, The Practice of Programming and Joshua Bloch’s Library-Centric Software.
Chapter 3 Data Abstraction: The Walls. © 2005 Pearson Addison-Wesley. All rights reserved3-2 Abstract Data Types Modularity –Keeps the complexity of a.
© 2006 Pearson Addison-Wesley. All rights reserved4-1 Chapter 4 Data Abstraction: The Walls.
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley. Ver Data Abstraction & Problem Solving with C++ Fifth Edition by Frank.
Chapter 2: Input, Processing, and Output
Bellevue University CIS 205: Introduction to Programming Using C++ Lecture 4: Enhancing Your Program.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
Fall 2007CS 2251 Software Engineering Intro. Fall 2007CS 2252 Topics Software challenge Life-cycle models Design Issues Documentation Abstraction.
Chapter 1 Principles of Programming and Software Engineering.
© 2006 Pearson Addison-Wesley. All rights reserved4-1 Chapter 4 Data Abstraction: The Walls.
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.
Apply Sub Procedures/Methods and User Defined Functions
V Avon High School Tech Club Agenda Old Business –Delete Files New Business –Week 16 Topics: Intro to HTML/CSS –Questions? Tech Club Forums.
Comp 245 Data Structures Software Engineering. What is Software Engineering? Most students obtain the problem and immediately start coding the solution.
Introduction to Data Structures & Algorithm. Objectives: By the end of the class, students are expected to understand the following: data structure and.
General Programming Introduction to Computing Science and Programming I.
Design and Programming Chapter 7 Applied Software Project Management, Stellman & Greene See also:
07 Coding Conventions. 2 Demonstrate Developing Local Variables Describe Separating Public and Private Members during Declaration Explore Using System.exit.
The Software Development Life Cycle. Software Development SDLC The Software Development Life-Cycle Sometimes called the program development lifecycle.
School of Computer Science & Information Technology G6DICP - Lecture 9 Software Development Techniques.
Problem of the Day  Why are manhole covers round?
SE: CHAPTER 7 Writing The Program
1 Life Cycle of Software Specification Design –Risk Analysis –Verification Coding Testing –Refining –Production Maintenance.
Software Development. Software Developers Refresher A person or organization that designs software and writes the programs. Software development is the.
Security - Why Bother? Your projects in this class are not likely to be used for some critical infrastructure or real-world sensitive data. Why should.
Making Good Code AKA: So, You Wrote Some Code. Now What? Ray Haggerty July 23, 2015.
Events (Alice In Action, Ch 6) Slides Credit: Joel Adams, Alice in Action CS 120 Lecture September 2012.
The Software Development Process
OCR GCSE Computing © Hodder Education 2013 Slide 1 OCR GCSE Computing Python programming 1: Introduction.
Java Programming, 2E Introductory Concepts and Techniques Chapter 4 Decision Making and Repetition with Reusable Objects.
CS-0401 INTERMEDIATE PROGRAMMING USING JAVA
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
Copyright © 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with Programming Logic & Design Second Edition by Tony Gaddis.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Exceptions Chapter 16 This chapter explains: What as exception is Why they are useful Java exception facilities.
Software Engineering and Object-Oriented Design Topics: Solutions Modules Key Programming Issues Development Methods Object-Oriented Principles.
Copyright © 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with Programming Logic & Design Second Edition by Tony Gaddis.
Intermediate 2 Computing Unit 2 - Software Development.
Chapter 4 Introduction to Control Statements
Programming & Debugging. Key Programming Issues Modularity Modifiability Ease of Use Fail-safe programming Style Debugging.
1 COS 260 DAY 12 Tony Gauvin. 2 Agenda Questions? 5 th Mini quiz –Chapter 5 40 min Assignment 3 Due Assignment 4 will be posted later (next week) –If.
Chapter 2 Principles of Programming and Software Engineering.
By Anand George SourceLens.org Copyright. All rights reserved. Content Owner - Meera R (meera at sourcelens.org)
Principles of Programming. Achieving an Object-Oriented Design  Abstraction and Information Hiding  Object-Oriented Design  Functional Decomposition.
Programming Fundamentals Enumerations and Functions.
WRITING AN IN CLASS ESSAY. # 1 (1 minute) First, read the question carefully. Pick out the salient points. What is the topic? A book, an event, an idea?
1 ENERGY 211 / CME 211 Lecture 14 October 22, 2008.
Principles of Programming & Software Engineering
Lesson 06: Functions Class Participation: Class Chat:
Chapter 7: Function.
Introduction to Computing Science and Programming I
Exam #1 You will have exactly 30 Mins to complete the exam.
Lesson 04: Conditionals Topic: Introduction to Programming, Zybook Ch 3, P4E Ch 3. Slides on website.
DATA ABSTRACTION AND PROBLEM SOLVING WITH C++
Testing and Debugging.
Principles of Programming and Software Engineering
Lecture 2 Introduction to Programming
Advanced Java Programming
Data Abstraction: The Walls
Lesson 06: Functions Class Chat: Attendance: Participation
Chapter 7: Input Validation
Chapter 2. Problem Solving and Software Engineering
The Enlightenment
Lab Accuracy/Precision Lab
Presentation transcript:

COS Sept 9, 2005 Key Issues in Programming Stefan Brandle

Agenda Visitor: David Orme, TU grad of ‘91. Introduce Autograder system Lab 1 questions Key issues in programming (Ch 1.3) Quiz 1

Visit: David Orme Mr. Orme will be speaking about a topic of his choice that is sure to inspire you. :-) Seriously, if you are willing to listen and learn from people who have gone through before you, you will be greatly rewarded. Ask questions. E.g., “Are our jobs really all going to India and China?”

Introduction to Autograder Go through quick demo Hand out login info

Lab 1 Questions Any questions? Now would be a good time to ask. You also will have a chance to ask lab 1 questions on Monday

Key Issues in Programming Modularity Modifiability Ease of use Fail-safe programming Style Debugging

Modularity Programming tasks get harder as size and complexity increase Modularity slows the rate at which difficulty increases Specifically helps with: –Constructing the program –Debugging the program –Reading the program –Modifying the program –Eliminating redundant code

Modifiability Want to make programs easy to modify Functions Named constants The “typedef” statement

Ease of Use Always prompt user so that user knows what is expected Always echo back input Output should be well labeled and easy to read

Fail-Safe Programming A fail-safe program will perform reasonably no matter how anyone uses it. That goal is not attainable. Next best is: Deal with errors in input data: do not acccept bad data Check for logic errors: program monitors itself and self-reports problems Throwing exceptions

Style Extensive use of functions Use of private data members Avoidance of global variables in functions Proper use of reference arguments Proper use of functions Error handling Readability Documentation

Debugging Learn to use a good debugger Systematically check program logic to figure out where the error occurs: there is always an explanation, nothing is random Create functions to dump data

Quiz Woo-hoo!