Programming Goals CSCE 121 J. Michael Moore.

Slides:



Advertisements
Similar presentations
Unit 6 Assignment 2 Chris Boardley.
Advertisements

CSCE 121: Introduction to Program Design and Concepts Dr. J. Michael Moore Spring 2015 Set 5: Functions 1 Based on slides created by Bjarne Stroustrup.
Quality Management. What is a software product? Software product = computer programs (sources and executable) + associated documentation Software products.
Automated Analysis and Code Generation for Domain-Specific Models George Edwards Center for Systems and Software Engineering University of Southern California.
Karlstad University Computer Science Component Based Software Engineering, Västerås Semantic Integrity in Component Based Development Martin.
J. Michael Moore Introduction to Computer Science CSCE 110.
1 Programming Languages Marjan Sirjani 2 1- The Study of Programming Languages The purpose of language is simply that it must convey meaning. (Confucius)
BPM based robust e-business application development.
Comp 245 Data Structures Software Engineering. What is Software Engineering? Most students obtain the problem and immediately start coding the solution.
(1.1) COEN 171 Programming Languages Winter 2000 Ron Danielson.
Chapter 1 Introduction Dr. Frank Lee. 1.1 Why Study Compiler? To write more efficient code in a high-level language To provide solid foundation in parsing.
LISP – Not just a Speech Impediment Jim Lowe. Brief History of LISP Initial development begins at the Dartmouth Summer Research Project in 1956 by Dr.
Ranga Rodrigo. The purpose of software engineering is to find ways of building quality software.
CSCE 121: Introduction to Program Design and Concepts, Honors Dr. J. Michael Moore Spring 2015 Set 3: Objects, Types, and Values 1 Based on slides.
1 Programming Languages Marjan Sirjani Course web site:
1 Introduction Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Sections
Software Development. Software Developers Refresher A person or organization that designs software and writes the programs. Software development is the.
Ceg860 (Prasad)L1SQ1 Software Quality Object-Oriented Programming Paradigm.
The basics of the programming process The development of programming languages to improve software development Programming languages that the average user.
Grammars Grammars can get quite complex, but are essential. Syntax: the form of the text that is valid Semantics: the meaning of the form – Sometimes semantics.
LESSON 3. Properties of Well-Engineered Software The attributes or properties of a software product are characteristics displayed by the product once.
Basic Programming Lingo. A program is also known as a  Sequence of instructions  Application  App  Binary  Executable.
Introduction to Linguistics Class # 1. What is Linguistics? Linguistics is NOT: Linguistics is NOT:  learning to speak many languages  evaluating different.
Oreste Signore- Quality/1 Amman, December 2006 Standards for quality of cultural websites Ministerial NEtwoRk for Valorising Activities in digitisation.
1 3. Computing System Fundamentals 3.1 Language Translators.
Engr. Isabelo Jun D. Paat, ME-CoE Lecturer 1 Programming Languages.
CS 1120: Computer Science II Software Life Cycle Slides courtesy of: Prof. Ajay Gupta and Prof. James Yang (format and other minor modifications by by.
Computer Programming CONTENTS Introduction to Operating Systems Introduction to programming languages Introduction to perl programming language Programming.
1 Compiler & its Phases Krishan Kumar Asstt. Prof. (CSE) BPRCE, Gohana.
RE-ENGINEERING AND DOMAIN ANALYSIS BY- NISHANTH TIRUVAIPATI.
Programming Language Design Issues Programming Languages – Principles and Practice by Kenneth C Louden.
CSC 4181 Compiler Construction
FG Group -Afrilia BP -Liana F.B.I -Maulidatun Nisa -Riza Amini F.
PHP + Framework + MVC. What is Framework? Common code - Generic functionality Extensible - Specific functionality Unlike library – Flow Dictated.
16CS202 & Software Engineering
Computational Thinking, Problem-solving and Programming: General Principals IB Computer Science.
Support for Program Analysis as a First-Class Design Constraint in Legion Michael Bauer 02/22/17.
Introduction to programming languages, Algorithms & flowcharts
Lexical and Syntax Analysis
Introduction to programming languages, Algorithms & flowcharts
Chapter 1 Reasons to study concepts of PLs Programming Domains
1.1 Reasons to study concepts of PLs
Chapter 1 Preliminaries.
Formal Language Theory
Many-core Software Development Platforms
Introduction to programming languages, Algorithms & flowcharts
CS 3304 Comparative Languages Fall 2011
Model-Driven Analysis Frameworks for Embedded Systems
Software engineering Lecturer: Nareena.
Software Development Process
CSCE 121- Spring 2016 J. Michael Moore
High Level Programming Languages
Implementing Language Extensions with Model Transformations
Generic Programming CSCE 121 J. Michael Moore.
Functions Overview CSCE 121 J. Michael Moore
Abstract Interpretation
Organization of Programming Languages
CS 1120: Computer Science II Software Life Cycle
CS 3304 Comparative Languages Fall 2011
Unit 6 Assignment 2 Chris Boardley.
Chapter 7 –Implementation Issues
Types and Type Checking (What is it good for?)
Logic: tool-based modeling and reasoning
Automated Analysis and Code Generation for Domain-Specific Models
Abstract Interpretation
CS 1120: Computer Science II Software Life Cycle
Chapter 2. Problem Solving and Software Engineering
Programming Techniques Assessment (Computer Science) Date :
Implementing Language Extensions with Model Transformations
Reasons To Study Programming Languages
Presentation transcript:

Programming Goals CSCE 121 J. Michael Moore

Express Semantics Semantics Syntax Meaning… What you are doing Important in Computer Science Syntax Grammar… How do you express in valid “sentences”. Varies by language, frequently changes Valid syntax does not imply correct Semantics. Cows levitate regularly. Valid syntax Doesn’t make sense (students do this a lot in C++).

Trade offs Conflicting Ideals Type safety Run-time performance Portability across platforms Compatibility with other code Ease of construction Ease of maintenance Trade offs

Security Programming Goals Abstraction Correctness Efficiency Robustness Readability Reuse Modularity Security

Trade offs Programming Goals Abstraction Correctness Efficiency Robustness Readability Reuse Modularity For now focus on Correctness, Robustness, Readability, and Abstraction