Spring 2012 CS 214 Programming Languages. Details Moodle! REQUIRED text: Sebesta, Programming Language Concepts, 9ed. Important dates: February 17: Project.

Slides:



Advertisements
Similar presentations
Copyright © 2003 by Prentice Hall Computers: Tools for an Information Age Chapter 15 Programming and Languages: Telling the Computer What to Do.
Advertisements

Component 4: Introduction to Information and Computer Science Unit 5: Overview of Programming Languages, Including Basic Programming Concepts Lecture 1.
Group that looked at Miami syllabus. Current Syllabus (with regards to testing) 2: To be able to identify and eliminate errors in programs – 2.1: Describe.
Compiler Construction by Muhammad Bilal Zafar (AP)
PROGRAMMING Introduction To Programming Definition Types Of Programming Languages Programming Language Paradigm Translator
Spring 2010 CS 214 Programming Languages. Details Course homepage: cs.calvin.edu/curriculum/cs/214/ Important dates: February 19: Project language choice.
Overview of Programming Paradigms
The Analytical Engine Module 6 Program Translation.
Computers: Tools for an Information Age
Programming Languages Structure
Chapter 16 Programming and Languages: Telling the Computer What to Do.
1 Programming Languages Translation  Lecture Objectives:  Be able to list and explain five features of the Java programming language.  Be able to explain.
Summer 02-03Programming Language Concepts1 Programming Language Concepts (CS 360) Lecture 1: Overview, Grammars, and Little Languages Jeremy R. Johnson.
Programming. Software is made by programmers Computers need all kinds of software, from operating systems to applications People learn how to tell the.
COP 2800 Lake Sumter State College Mark Wilson, Instructor.
Activity 1 - WBs 5 mins Go online and spend a moment trying to find out the difference between: HIGH LEVEL programming languages and LOW LEVEL programming.
Principles of Programming Chapter 1: Introduction  In this chapter you will learn about:  Overview of Computer Component  Overview of Programming 
CHAPTER 4: INTRODUCTION TO COMPUTER ORGANIZATION AND PROGRAMMING DESIGN Lec. Ghader Kurdi.
Programming Languages: Telling the Computers What to Do Chapter 16.
Introduction and Overview of the Course CS 480/680 – Comparative Languages.
Programming Languages CPS120: Introduction to Computer Science Lecture 5.
 2003 Prentice Hall, Inc. All rights reserved. 1 Dijkstra Letter Quotes...the quality of programmers is a decreasing function of the density of go to.
The Role of Programming Languages Chapter 1: Programming Languages: Concepts and Constructs by Ravi Sethi.
COSC 3127 Programming Languages Dave Goforth FA377.
UNIVERSITI TENAGA NASIONAL “Generates Professionals” CHAPTER 4 : Part 2 INTRODUCTION TO SOFTWARE DEVELOPMENT: PROGRAMMING & LANGUAGES.
High level & Low level language High level programming languages are more structured, are closer to spoken language and are more intuitive than low level.
Introduction CS 104: Applied C++ What is Programming? For some given problem: __________ a solution for it -- identify, organize & store the problem's.
Programming Languages: History & Traditional Concepts CSC 2001.
Computer Programs and Programming Languages What are low-level languages and high-level languages? High-level language Low-level language Machine-dependent.
Introduction to Computer Application (IC) MH Room 517 Time : 7:00-9:30pm.
Module 4 Part 2 Introduction To Software Development : Programming & Languages Introduction To Software Development : Programming & Languages.
PROGRAMMING LANGUAGES
1.
Intermediate 2 Computing Unit 2 - Software Development Topic 2 - Software Development Languages and Environments.
1 3. Computing System Fundamentals 3.1 Language Translators.
Compiler Construction (CS-636)
Introduction 1 (Read Chap. 1) What is Programming? For some given problem: design a solution for it -- identify, organize & store the problem's data --
Represents different voltage levels High: 5 Volts Low: 0 Volts At this raw level a digital computer is instructed to carry out instructions.
Chapter 1 Introduction. Chapter 1 -- Introduction2  Def: Compiler --  a program that translates a program written in a language like Pascal, C, PL/I,
 Computer Languages Computer Languages  Machine Language Machine Language  Assembly Language Assembly Language  High Level Language High Level Language.
Slide 1 Chapter 1 Desktop Computer © 2012 EMC Publishing, LLC.
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
The Development Process Compilation. Compilation - Dr. Craig A. Struble 2 Programming Process Problem Solving Phase We will spend significant time on.
Machine Machine language is PL in which program instructions are written in strings of 0s and 1s.The computer circuitry is wired in a manner that it can.
 Getting ready to code Lecture 1 Match 4, Course syllabus 
The Functions and Purposes of Translators Translators, Interpreters and Compilers - High Level Languages.
The Functions and Purposes of Translators Translators, Interpreters and Compilers - High Level Languages.
Programming Languages
PROGRAMMING (1) LECTURE # 1 Programming and Languages: Telling the Computer What to Do.
HIGH-LEVEL LANGUAGE PROGRAMMING PARADIGMS. Programming languages come in many forms or 'paradigms'. Each form of language offers advantages over other.
High-level language programming paradigms. Programming languages come in many forms or 'paradigms'. Each form of language offers advantages over other.
Chapter 1: Introducing C Copyright © 2008 W. W. Norton & Company. All rights reserved. 1 Chapter 1 Introducing C.
INTRODUCTION TO COMPUTER PROGRAMMING ITC-314. Computer Programming  Computer Programming means creating a sequence of instructions to enable a computer.
A LECTURE NOTE. Introduction to Programming languages.
Sections Basic Concepts of Programming
CSCI-235 Micro-Computer Applications
Introducing C Chapter 1 Copyright © 2008 W. W. Norton & Company.
Unit# 8: Introduction to Computer Programming
TRANSLATORS AND IDEs Key Revision Points.
Teaching Computing to GCSE
Programming Languages
4.4 Shortest Paths in a Graph
Introducing C Chapter 1 Copyright © 2008 W. W. Norton & Company.
Programming Languages 2nd edition Tucker and Noonan
The Purpose of this Course
An Introduction to Programming with C++ Fifth Edition
Programming Languages
Programming Languages, Preliminaries, History & Evolution
The Role of Programming Languages
Algoritmos y Programacion
Presentation transcript:

Spring 2012 CS 214 Programming Languages

Details Moodle! REQUIRED text: Sebesta, Programming Language Concepts, 9ed. Important dates: February 17: Project language choice March 2: Project proposal March 16: Midterm (registrar’s test day) May 7-9: Final project presentations May 12, 1:30p: Final Exam

Course Objectives Gain an understanding of those features all programming languages have in common Understand the differences between imperative, object- oriented, and functional languages Be introduced to some of the formalisms that underlie programming languages Demonstrate the ability to master a new programming language on your own

Chapter 1 Objectives Be able to name, describe, compare and contrast the criteria used to evaluate a language Be able to name and give at least one distinctive property of each programming language paradigm Be able to name, describe, compare and contrast language implementations

Chapter 2 Objectives Be able to list pros and cons of binary, assembly and high-level languages (notes) Understand the importance of compilers Be able to name a key player in programming language design Be able to put the programming language paradigms in chronological order based on their development

Programming Language History In the beginning… Binary machine language Difficult to write Prone to programmer errors Difficult to debug

Assembly Languages Mnemonic for each operation Symbolic names instead of memory addresses Programs called assemblers automate translation MOV ADD STO MOV I ADD J STO K IJKIJK

Assembly Languages Pros: Not quite so cumbersome Somewhat less error prone Cons: Not portable Not intuitive

High Level Languages Rear Admiral Grace Hopper 1952: Develops first compiler called, simply, A The Idea: Write code independent of the machine-level details Use a compiler to translate into machine language k = i + j; MOV I ADD J STO K compiler assembler

Edsger Dijkstra Quotes The use of COBOL cripples the mind; its teaching should, therefore, be regarded as a criminal offense. It is practically impossible to teach good programming to students who have had prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration. APL is a mistake, carried through to perfection. It is the language of the future for the programming techniques of the past: it creates a new generation of coding bums.