1320 Principles Of Computer Science I

Size: px
Start display at page:

Download "1320 Principles Of Computer Science I"

Transcription

1 1320 Principles Of Computer Science I Dr. Thomas Hicks Computer Science Department Trinity University 1 1

2 2 Read Course Outline! Linked To My Schedule Page

3 3

4 4 Check Schedule Page Daily! /1320/schedule.html We will often, but not always, discuss upcoming assignments check the page! Hints-Reading Assignments-Written Assignments/Labs!

5 5

6 6 Printing! Use Computer Science Printers Only For Your Computer Science Homework!!!! Print Only What Is Necessary!

7 7 Computer Science & Computer Programming

8 8 Computer Science Computer Science is the study of the Theoretical Foundations of of Information and Computation & of Practical Techniques for their implementation and application in computer systems.

9 9 Computer Programming Computer Programming is the process of Designing, Writing, Testing, Debugging / troubleshooting, & Maintaining. the source code of computer programs.

10 10 Who Is The Computer Scientist?

11 11 Time Distribution [From S.E. Text] What Do Computer Scientists Do With Their Time? 20% Non-productive activities 30% Workingalone 50% Interaction with other people Once A Computer Scientist Learns How To Write Code, The Computer Scientist Does Much More Than Just Sit & Work In Front Of His/Her Computer(s)!

12 12 How Does The TU Computer Scientist Learn To Write Code?

13 13 TU 4 Courses To Prepare You To Program! 4 Really Serious Programming Courses In The Major CSCI 1320 Principles Of Computer Science I CSCI 1321 Principles Of Computer Science II CSCI 2320 Principles Of Data Abstraction CSCI 2322 Principles Of Functional Programming Maybe Algorithms? CSCI 1320 Most Of You Should Plan On Devoting An Average About 9-10 Hours Per Week Designing, Writing, Testing, & Debugging Programs!

14 14CHARGE CSCI 1320 Principles Of Computer Science I Required For Their Major

15 15 Who Takes CSCI 1320 Principles Of Computer Science I? Understanding Natural Science and Technology or Support Major

16 16 Why Would You Care If You Like Computer Science?

17 17 Average Salary - Software Engineer

18 18 Average Salary - Database Administrator

19 19 Average Salary - Project Managers

20 20 Computer Science: A Young Science

21 21 Computer Science Is Often Considered A Young Science Founding Fathers [1] Babbage Difference Engine

22 22 Alan Turing & Alonzo Church

23 23 Giant Brain US Army Balistic Research Center in Maryland [2]

24 24 Software

25 25 What is Software

26 26 BIOS Software

27 27 Operating System (OS) Software Operating System determines how the user will interact with the computer.

28 28 Software Hardware

29 29 Hardware Computer Scientists Have To Know More Than Just How To Write Code

30 30 Mother Board ASUS Rampage II Extreme For I7 Intel Processor

31 31 Install The I7 Processor

32 32 Processor With Cooling Fan DX58SO Socket 1366 For I7 Intel Processor

33 33 Machine Language Programming

34 34 Processor Cycles Each Cycle the computer Loads an Instruction and Executes It. There was a time when Programming was done by Writing the Binary Instructions that the machine executes. We refer to the language of these binary instructions as Machine Language.

35 35 The Stupid Computer Only Understands 0 & 1 Every Processor, or processor family, has its Own Machine Code Instruction Set. Instructions are Patterns of Bits that by physical design correspond to different commands to the machine. Bits are 0 & 1

36 36 The First Generation Of Programming Was Done With Machine Language Programming If eight digit binary codes are used, there are 2 8 (256) numbered instructions from to Machine language instructions for adding two numbers could be something like the following: Writing a Program That Says Hello World Could Require Thousands Of Lines Of Code.

37 37 Processor Instruction Sets The Processor Instruction Set is thus Specific to a class of processors using (much) the same architecture. Successor, or Derivative Processor Designs, often include all the instructions of a predecessor and may add additional instructions

38 38 Multiple Processors/Cores CPU's of today often have more than one core/processor on board. Parallel Computing is a type of computation in which many calculations are carried out simultaneously, or the execution of processes are carried out simultaneously. Parallel Processing Large problems can often be divided into smaller ones, which are then solved at the same time. These smaller tasks are then assigned/threaded to other processors and run concurrently.

39 39 Computer Voltage Modern Computers work by Regulating the Flow of Electricity through Wires. In Today s Electronics, the electric flow has been reduced to tiny elements that have been etched into silicon (tens of nanometers across) Voltage, on the wires, is used to indicate the State of a bit. Voltage is either ON (1) or OFF (0)

40 40 Transistors The wires connect up Transistors that are laid out in a way that allow logical processing. Modern Computer Processor will include literally hundreds of millions of transistors.

41 41 von Neumann Architecture Most Modern Computers are built on a variation of the von Neumann Architecture Memory stores both Data & Programs Bus is the interstate for instructions and data

42 42 Assemblers & Assembly Language Programming

43 43 The Second Generation Of Programming Was Done With Assembly Language Programming Assembly Instructions are also Processor Dependent LDA 15 LDB 20 ADD,B,A Individual Instructions that computers can do are typically very simple. Computers get their speed instructions can be done very quickly. Assembly Language is more readable than Machine Language An Assembler, is a program which Translates the Assembly Instructions into Binary Code

44 44 About Assembly Instructions When using the early Assembly Languages, One Line of Assembly Code (1 Instruction) was translated into One Line of Machine Code. Macros were added to Assembly Language One Line Assembly code might generate hundreds of lines of Machine Code. Operating Systems, Micro Controllers, Computer Games, Video Cards, etc.

45 45 Billions Of Instructions Per Second Computers Instruction Cycle a few gigahertz. Computers Run a few billion instructions every second.

46 46 About Learning

47 47 About Learning Active Study lzzoahxl3ymkhye6a3gqfghdmay&url=http%3a%2f%2fwww.dartmouth.edu%2f~acskill s%2fdocs%2fstudy_actively.doc&usg=afqjcngsxkipwcmr03ik3ehmdhmjaulflq&sig2= VomF-zP7yLpCkP1Dn2f9HA&cad=rja You Remember 10% of "What You Read" You Remember 20% of "What You Hear" You Remember 30% of "What You See" You Remember 90% of "What You Do" Other Similar Studies You Remember 30% of "What You Read & Hear" You Remember 50% of "Read, Study, Highlight, Go Over & Over"

48 48 You Read You Remember 10% of "What You Read" I hope you read/study the reading assignments in the text! I hope you read/study the slides I Will give you Homework In Which Some Of The Questions You Answer Will Come From The Textbook.

49 49 You Hear You Remember 20% of "What You Hear" Come To Every Class - Take Notes Some Of The Information On Exams/Quizzes Will Be Available Only In Lecture! I Will give you Homework In Which Some Of The Questions You Answer Will Come From The Lecture.

50 50 You See You Remember 30% of "What You See" Come To Every Class - Take Notes - You Will See Me Write Lots Of Code - Did I Say Take Notes! Hand Writing The Answers On The Homework (where required) Really Seems To Help Students Remember Both The Coding Techniques & The Non-Programming Topics. Unless You Have Some Physical Deficit That Prevents You From Writing, You Will Be Asked To Hand-Write The Answers To The Non-Programming Portions Of Labs.

51 51 You Do (1/2) You Remember 90% of "What You Do" Come To Every Class - I Will Give You The Opportunity To Type Some Code - Along With Me - PRACTICE! You Will Not Always Keep Up - OK Take Notes Or Look On With A Neighbor When You Get Behind/Lost The Slides Will Contain A Lot Of Code I Recommend That You Actually Type Most Of This Code Before You Do The Programming Components Of The Labs. (Be Sure To Do This Before The Next Class) A Lot Of These Skills Seem To Best Get Cemented Into The Brain By Way Of Fingers Working The Keyboard!

52 52 You Do (2/2) You Remember 90% of "What You Do" I Will give you Homework In Which Some Of The Questions You Answer Will Come From The Textbook. At Least 80% Of Your Exams/Quizzes Will Be Taken From The Questions (Or Similar Questions) & Coding (or Similar Coding & Functions)

53 53 I Have Tried To Design The Course For Success I have had one 1320 Class in which everyone bought into these recommendations. They came to almost all classes They took notes They usually started their homework the day it was assigned They came in with questions any time they were confused They did not get behind - Almost all labs were turned in on time They All Earned An "A" in I have had classes with less than 20% A's

54 54 Compilers & High-Level Languages

55 55 About Compiler Instructions println ( Hello World ) The Scala instruction above is translated into thousands of lines of Machine Code. The Scala instruction above is the same for all processors & all operating systems MUCH FASTER PROGRAMMING!

56 56 The Scala Language Scala is a very High Level language that allows you to communicate ideas to the computer in a rather concise way and gives you access to a large number of existing libraries to help you write programs that are fun or interesting.

57 57 Compile Once Execute Binary Many Times 1 Byte = 8 Binary Bits 449,024 x 8 = 3,592,192 Bits To Say Hello World!

58 58 Interpreters & Programming Languages

59 59 Scala Interpreters Scala can be run in an Interpretive Environment. An Interpreter takes one instruction line translates it into binary executes that binary and continues to the next instruction in the program. Get next order would be converted to binary each time it is executed (inefficient, but works) Interpreted code generally slower than compiled code Interpreted Programs easier to debug

60 60 Scala Portability Scala can be compiled as well. Scala code is Very Portable Scala runs on Java Virtual machine (JVM) this ensures the portability to all the underlying platforms

61 61 Scala Is Multi-Platform

62 62 Creator of Scala Scala Created By Martin Odersky

63 63 Multi-Platform Scala Was Released in 2004 Official Website is Scala Is Multi-Platform 1. Windows 2. Linux/Unix 3. Mac 4. Java Virtual Machine 5..NET initiative underway!

64 64 Scala Is Open Source

65 65 Open Source Free Scala Is Open Source Many Contributors

66 66 Commercial Backing

67 67 I Encourge You To Install A Copy Of Scala On Your Computer

68 68 Full Blown Programming Languages

69 69 Scala Is A Powerful Language There are many full-blown, multi-purpose Programming Languages C, C++, & Java are among the best known Powerful! Scala is a new full-blown programming language.

70 70 There Are 3 Major Computer Programming Paradigms

71 71 Imperative Programming Scala There are many and a number of approaches (paradigms) to programming. Imperative Programming 1. The programmer specifically states how to do things 2. The values stored by the computer are readily altered during the computation.

72 72 Functional Programming Scala Functional Programming was born out of the mathematical notions of lambda calculus (Church) Functional Programming 1. No mutable state you have functions that take values and return values, but don't change anything else along the way

73 73 Object Oriented Programming (OOP) Scala Object Oriented Programming is the new paradigm Object Oriented Programming 1. The Data, and the Functions that operate on the data, should be bundled together into things called Objects called ENCAPSULATION Scala is purely Object Oriented

74 74 Scala Is A New Hybrid Language Scala can be programmed exclusively using the Imperative Paradigm! Scala can be programmed exclusively using the Functional Paradigm! Scala is purely Object Oriented & can make heavy usage of the OOP Paradigm.

75 75 How To Start Scala In Windows In CS Labs

76 76 Start REPL Interpreter Read-Evaluate-Print Loop

77 77 How To Exit From Scala In Windows

78 78 Exit REPL Interpreter :q

79 79 How To Start Scala In Linux

80 80 Start REPL Interpreter Read-Evaluate-Print Loop

81 81 How To Exit From Scala In Linux

82 82 Exit REPL Interpreter :q

83 83 Using Scala As A Calculator

84 84 Basic Integer Operations Addition (+), Subtraction(-), Multiplication(*), Division(/) scala> Integers = 0, +/- 1, +/- 2,

85 85 Integer Division Integer Division(/) Discards The Remainder Comment Symbol (//)

86 86 Scala Has No Exponentiation Operator We can use the Power (pow) function from the math library.

87 87 Real Number Division The Decimal Point makes a number a real number. If any value is in an expression is real, the result is real. Double 8 byte real number.

88 88 Order Of Operations Correct! Innermost Parentheses First Exponentiation (Right To Left) Multiplication & Division (Left To Right) Addition & Subtraction (Left To Right)

89 89 MOD Modulus (%) returns the Remainder

90 90 REPL Read-Evaluate-Print Loop Under The Hood

91 91 REPL Scala supports Multiple Modes of Interaction. Scala can be run in an Interpretive Environment. REPL Read-Evaluate-Print Loop All Scala Data Members are Objects Scala Statement end with semicolan (;) semicolon inference inserts (;) for you

92 92 REPL Expression Evaluation res0 short for result0 5 Numeric Literal The results of the expression, entered into Scala, are (1) it gave it a name (res0), evaluated it (2+3=5) and gave it back(res0: Int = 5) Int is the type name that Scala uses for basic numeric integers.

93 93 REPL Expression Evaluation Colons(:) are used to separate things from their datatypes. Note that we can print the value stored in the named container (res0)

94 94 Creating String Variables & Constants

95 95 Naming String Objects String Variables var String Variables are symbolic names for containers that hold character data. Strings are delimited with double quotes. var first:string = tom creates a string variable, called first, and fills the container with tom When You Use var, you must initialize the variable with a value! You Can Force The Scala Interpreter To Select A DataType!

96 96 About String Variables var All Variables can be changed (String too!) When You Use var, you must initialize the variable with a value! You Can Force The Scala Interpreter To Select A DataType!

97 97 String Constants val val course:string = CSCI-2320 creates a string constant, called course, and fills the container with CSCI-2320 Constants (Course) may not be changed during program execution.

98 98 Naming Variables

99 99 Naming Objects Select Meaningful Variable/Constant Names Object Names Are Case Sensitive Conventions: payrate (camel naming convention) pay_rate PayRate

100 100 String Concatenation

101 101 Concatenation String Concatenate (+) is the process of combining strings

102 102 println

103 103 Concatenation & println print print the arguments passed println print the arguments passed and skip a line

104 104 Creating Integer Variables & Constants

105 105 Naming Integer Objects Int Variables var Int Variables are symbolic names for containers that hold Integer type data. -2,147,483,648 <= Int <= 2,147,483,647 (~+/- 2 billion) var age:int = 21 creates an integer variable, called age, and fills the container with 21 When You Use var, you must initialize the variable with a value! You Can Force The Scala Interpreter To Select A DataType! (generally)

106 106 About Int Variables var All Variables can be changed (Int too!) age = age + 1 Incrementing age -2,147,483,648 <= Int <= 2,147,483,647 Later We Shall Examine How Positive & Negative Integers Are Stored Later We When Shall You Discuss Use Why var, you noitems must Becomes initialize Negative the variable with a value! You Can Force The Scala Interpreter To Select A DataType!

107 107 Int Constants val val N:Int = 5000 creates an Int constant, called N, and fills the container with 5000 Constants (N) may not be changed during program execution.

108 108 Creating Double Variables & Constants

109 109 Naming Real Objects Double Variables var Double Variables are symbolic names for containers that hold real type data. val payrate:double = creates an double variable, called payrate, and fills the container with Computer Representation Of Real Numbers (Doubles) Is Not Exact! Scientific Notation

110 110 About Int Variables var All Variables can be changed (Int too!) age = age + 1 Incrementing age -2,147,483,648 <= Int <= 2,147,483,647 Later We Shall Examine How Positive & Negative Integers Are Stored Later We When Shall You Discuss Use Why var, you noitems must Becomes initialize Negative the variable with a value! You Can Force The Scala Interpreter To Select A DataType!

111 111 Principles Of Computer Science I CSCI 1320 Dr. Thomas E. Hicks Computer Science Department Trinity University Textbook: An Introduction to Programming with Scala By Dr. Mark Lewis

Notes from a Short Introductory Lecture on Scala (Based on Programming in Scala, 2nd Ed.)

Notes from a Short Introductory Lecture on Scala (Based on Programming in Scala, 2nd Ed.) Notes from a Short Introductory Lecture on Scala (Based on Programming in Scala, 2nd Ed.) David Haraburda January 30, 2013 1 Introduction Scala is a multi-paradigm language that runs on the JVM (is totally

More information

CPS122 Lecture: From Python to Java last revised January 4, Objectives:

CPS122 Lecture: From Python to Java last revised January 4, Objectives: Objectives: CPS122 Lecture: From Python to Java last revised January 4, 2017 1. To introduce the notion of a compiled language 2. To introduce the notions of data type and a statically typed language 3.

More information

Machine Architecture and Number Systems CMSC104. Von Neumann Machine. Major Computer Components. Schematic Diagram of a Computer. First Computer?

Machine Architecture and Number Systems CMSC104. Von Neumann Machine. Major Computer Components. Schematic Diagram of a Computer. First Computer? CMSC104 Lecture 2 Remember to report to the lab on Wednesday Topics Machine Architecture and Number Systems Major Computer Components Bits, Bytes, and Words The Decimal Number System The Binary Number

More information

TOPIC 2 INTRODUCTION TO JAVA AND DR JAVA

TOPIC 2 INTRODUCTION TO JAVA AND DR JAVA 1 TOPIC 2 INTRODUCTION TO JAVA AND DR JAVA Notes adapted from Introduction to Computing and Programming with Java: A Multimedia Approach by M. Guzdial and B. Ericson, and instructor materials prepared

More information

Midterms Save the Dates!

Midterms Save the Dates! University of British Columbia CPSC 111, Intro to Computation Alan J. Hu Primitive Data Types Arithmetic Operators Readings Your textbook is Big Java (3rd Ed). This Week s Reading: Ch 2.1-2.5, Ch 4.1-4.2.

More information

CPS122 Lecture: From Python to Java

CPS122 Lecture: From Python to Java Objectives: CPS122 Lecture: From Python to Java last revised January 7, 2013 1. To introduce the notion of a compiled language 2. To introduce the notions of data type and a statically typed language 3.

More information

Introduction to Software Development (ISD) David Weston and Igor Razgon

Introduction to Software Development (ISD) David Weston and Igor Razgon Introduction to Software Development (ISD) David Weston and Igor Razgon Autumn term 2013 Course book The primary book supporting the ISD module is: Java for Everyone, by Cay Horstmann, 2nd Edition, Wiley,

More information

Java Basics Lecture: January 26, 2012 (On-line Lecture 1)

Java Basics Lecture: January 26, 2012 (On-line Lecture 1) Java Basics Lecture: January 26, 2012 (On-line Lecture 1) CMPSCI 121, Spring 2012 Introduction to Problem Solving with Computers Prof. Erik Learned-Miller Logistics Previous lectures are on-line. See links

More information

Lecture 5: The Halting Problem. Michael Beeson

Lecture 5: The Halting Problem. Michael Beeson Lecture 5: The Halting Problem Michael Beeson Historical situation in 1930 The diagonal method appears to offer a way to extend just about any definition of computable. It appeared in the 1920s that it

More information

Memory Addressing, Binary, and Hexadecimal Review

Memory Addressing, Binary, and Hexadecimal Review C++ By A EXAMPLE Memory Addressing, Binary, and Hexadecimal Review You do not have to understand the concepts in this appendix to become well-versed in C++. You can master C++, however, only if you spend

More information

Contents. Slide Set 1. About these slides. Outline of Slide Set 1. Typographical conventions: Italics. Typographical conventions. About these slides

Contents. Slide Set 1. About these slides. Outline of Slide Set 1. Typographical conventions: Italics. Typographical conventions. About these slides Slide Set 1 for ENCM 369 Winter 2014 Lecture Section 01 Steve Norman, PhD, PEng Electrical & Computer Engineering Schulich School of Engineering University of Calgary Winter Term, 2014 ENCM 369 W14 Section

More information

Machine Architecture and Number Systems

Machine Architecture and Number Systems Machine Architecture and Number Systems Topics Major Computer Components Bits, Bytes, and Words The Decimal Number System The Binary Number System Converting from Binary to Decimal Converting from Decimal

More information

Slide Set 1 (corrected)

Slide Set 1 (corrected) Slide Set 1 (corrected) for ENCM 369 Winter 2018 Section 01 Steve Norman, PhD, PEng Electrical & Computer Engineering Schulich School of Engineering University of Calgary January 2018 ENCM 369 Winter 2018

More information

Primitive Data, Variables, and Expressions; Simple Conditional Execution

Primitive Data, Variables, and Expressions; Simple Conditional Execution Unit 2, Part 1 Primitive Data, Variables, and Expressions; Simple Conditional Execution Computer Science S-111 Harvard University David G. Sullivan, Ph.D. Overview of the Programming Process Analysis/Specification

More information

Welcome to. Instructor Marc Pomplun CS 470/670. Introduction to Artificial Intelligence 1/26/2016. Spring Selectivity in Complex Scenes

Welcome to. Instructor Marc Pomplun CS 470/670. Introduction to Artificial Intelligence 1/26/2016. Spring Selectivity in Complex Scenes Welcome to CS 470/670 Introduction to Artificial Intelligence Office: Lab: Instructor Marc Pomplun S-3-171 S-3-135 Office Hours: Tuesdays 4:00pm 5:30pm Thursdays 7:00pm 8:30pm Spring 2016 Instructor: Marc

More information

what operations can it perform? how does it perform them? on what kind of data? where are instructions and data stored?

what operations can it perform? how does it perform them? on what kind of data? where are instructions and data stored? Inside the CPU how does the CPU work? what operations can it perform? how does it perform them? on what kind of data? where are instructions and data stored? some short, boring programs to illustrate the

More information

Computer Architecture and System Software Lecture 02: Overview of Computer Systems & Start of Chapter 2

Computer Architecture and System Software Lecture 02: Overview of Computer Systems & Start of Chapter 2 Computer Architecture and System Software Lecture 02: Overview of Computer Systems & Start of Chapter 2 Instructor: Rob Bergen Applied Computer Science University of Winnipeg Announcements Website is up

More information

Chapter 2 Using Data. Instructor s Manual Table of Contents. At a Glance. Overview. Objectives. Teaching Tips. Quick Quizzes. Class Discussion Topics

Chapter 2 Using Data. Instructor s Manual Table of Contents. At a Glance. Overview. Objectives. Teaching Tips. Quick Quizzes. Class Discussion Topics Java Programming, Sixth Edition 2-1 Chapter 2 Using Data At a Glance Instructor s Manual Table of Contents Overview Objectives Teaching Tips Quick Quizzes Class Discussion Topics Additional Projects Additional

More information

PROGRAMMING LANGUAGE PARADIGMS & THE MAIN PRINCIPLES OF OBJECT-ORIENTED PROGRAMMING

PROGRAMMING LANGUAGE PARADIGMS & THE MAIN PRINCIPLES OF OBJECT-ORIENTED PROGRAMMING PROGRAMMING LANGUAGE PARADIGMS & THE MAIN PRINCIPLES OF OBJECT-ORIENTED PROGRAMMING JAN BARTONÍČEK This paper's goal is to briefly explain the basic theory behind programming languages and their history

More information

Full file at

Full file at Java Programming, Fifth Edition 2-1 Chapter 2 Using Data within a Program At a Glance Instructor s Manual Table of Contents Overview Objectives Teaching Tips Quick Quizzes Class Discussion Topics Additional

More information

BASIC COMPUTATION. public static void main(string [] args) Fundamentals of Computer Science I

BASIC COMPUTATION. public static void main(string [] args) Fundamentals of Computer Science I BASIC COMPUTATION x public static void main(string [] args) Fundamentals of Computer Science I Outline Using Eclipse Data Types Variables Primitive and Class Data Types Expressions Declaration Assignment

More information

Information Science 1

Information Science 1 Topics covered Information Science 1 Terms and concepts from Week 8 Simple calculations Documenting programs Simple Calcula,ons Expressions Arithmetic operators and arithmetic operator precedence Mixed-type

More information

Intro to Programming. Unit 7. What is Programming? What is Programming? Intro to Programming

Intro to Programming. Unit 7. What is Programming? What is Programming? Intro to Programming Intro to Programming Unit 7 Intro to Programming 1 What is Programming? 1. Programming Languages 2. Markup vs. Programming 1. Introduction 2. Print Statement 3. Strings 4. Types and Values 5. Math Externals

More information

Introduction to: Computers & Programming: Review prior to 1 st Midterm

Introduction to: Computers & Programming: Review prior to 1 st Midterm Introduction to: Computers & Programming: Review prior to 1 st Midterm Adam Meyers New York University Summary Some Procedural Matters Summary of what you need to Know For the Test and To Go Further in

More information

What did we talk about last time? Examples switch statements

What did we talk about last time? Examples switch statements Week 4 - Friday What did we talk about last time? Examples switch statements History of computers Hardware Software development Basic Java syntax Output with System.out.print() Mechanical Calculation

More information

Visual C# Instructor s Manual Table of Contents

Visual C# Instructor s Manual Table of Contents Visual C# 2005 2-1 Chapter 2 Using Data At a Glance Instructor s Manual Table of Contents Overview Objectives s Quick Quizzes Class Discussion Topics Additional Projects Additional Resources Key Terms

More information

CS112 Lecture: Variables, Expressions, Computation, Constants, Numeric Input-Output

CS112 Lecture: Variables, Expressions, Computation, Constants, Numeric Input-Output CS112 Lecture: Variables, Expressions, Computation, Constants, Numeric Input-Output Last revised January 12, 2006 Objectives: 1. To introduce arithmetic operators and expressions 2. To introduce variables

More information

CS 360 Programming Languages Interpreters

CS 360 Programming Languages Interpreters CS 360 Programming Languages Interpreters Implementing PLs Most of the course is learning fundamental concepts for using and understanding PLs. Syntax vs. semantics vs. idioms. Powerful constructs like

More information

Mobile Computing Professor Pushpendra Singh Indraprastha Institute of Information Technology Delhi Java Basics Lecture 02

Mobile Computing Professor Pushpendra Singh Indraprastha Institute of Information Technology Delhi Java Basics Lecture 02 Mobile Computing Professor Pushpendra Singh Indraprastha Institute of Information Technology Delhi Java Basics Lecture 02 Hello, in this lecture we will learn about some fundamentals concepts of java.

More information

Slide 1 CS 170 Java Programming 1 Expressions Duration: 00:00:41 Advance mode: Auto

Slide 1 CS 170 Java Programming 1 Expressions Duration: 00:00:41 Advance mode: Auto CS 170 Java Programming 1 Expressions Slide 1 CS 170 Java Programming 1 Expressions Duration: 00:00:41 What is an expression? Expression Vocabulary Any combination of operators and operands which, when

More information

Computer Organization and Assembly Language. Lab Session 01

Computer Organization and Assembly Language. Lab Session 01 Objective: Lab Session 01 Introduction to Assembly Language Tools and Familiarization with Emu8086 environment To be able to understand Data Representation and perform conversions from one system to another

More information

Chapter 4C Homework Functions III Individual Assignment 30 Points Questions 6 Points Script 24 Points

Chapter 4C Homework Functions III Individual Assignment 30 Points Questions 6 Points Script 24 Points PCS1-Ch-4C-Functions-3-HW.docx CSCI 1320 Initials P a g e 1 If this lab is an Individual assignment, you must do all coded programs on your own. You may ask others for help on the language syntax, but

More information

CS2900 Introductory Programming with Python and C++ Kevin Squire LtCol Joel Young Fall 2007

CS2900 Introductory Programming with Python and C++ Kevin Squire LtCol Joel Young Fall 2007 CS2900 Introductory Programming with Python and C++ Kevin Squire LtCol Joel Young Fall 2007 Course Web Site http://www.nps.navy.mil/cs/facultypages/squire/cs2900 All course related materials will be posted

More information

Machine Architecture. or what s in the box? Lectures 2 & 3. Prof Leslie Smith. ITNP23 - Autumn 2014 Lectures 2&3, Slide 1

Machine Architecture. or what s in the box? Lectures 2 & 3. Prof Leslie Smith. ITNP23 - Autumn 2014 Lectures 2&3, Slide 1 Machine Architecture Prof Leslie Smith or what s in the box? Lectures 2 & 3 ITNP23 - Autumn 2014 Lectures 2&3, Slide 1 Basic Machine Architecture In these lectures we aim to: understand the basic architecture

More information

Computers and programming languages introduction

Computers and programming languages introduction Computers and programming languages introduction Eugeniy E. Mikhailov The College of William & Mary Lecture 01 Eugeniy Mikhailov (W&M) Practical Computing Lecture 01 1 / 19 Class goals and structure Primary

More information

C++ Reference NYU Digital Electronics Lab Fall 2016

C++ Reference NYU Digital Electronics Lab Fall 2016 C++ Reference NYU Digital Electronics Lab Fall 2016 Updated on August 24, 2016 This document outlines important information about the C++ programming language as it relates to NYU s Digital Electronics

More information

Objectives. Structure. Munster Programming Training

Objectives. Structure. Munster Programming Training 1 Munster Programming Training Objectives 1. To give a short and basic introduction to computer programming, web design, web animation and video production. 2. To foster interest in computers by encouraging

More information

CSCI 2010 Principles of Computer Science. Data and Expressions 08/09/2013 CSCI

CSCI 2010 Principles of Computer Science. Data and Expressions 08/09/2013 CSCI CSCI 2010 Principles of Computer Science Data and Expressions 08/09/2013 CSCI 2010 1 Data Types, Variables and Expressions in Java We look at the primitive data types, strings and expressions that are

More information

CSCI 1100L: Topics in Computing Lab Lab 11: Programming with Scratch

CSCI 1100L: Topics in Computing Lab Lab 11: Programming with Scratch CSCI 1100L: Topics in Computing Lab Lab 11: Programming with Scratch Purpose: We will take a look at programming this week using a language called Scratch. Scratch is a programming language that was developed

More information

Topic 1: Introduction

Topic 1: Introduction Recommended Exercises and Readings Topic 1: Introduction From Haskell: The craft of functional programming (3 rd Ed.) Readings: Chapter 1 Chapter 2 1 2 What is a Programming Paradigm? Programming Paradigm:

More information

Lecture 3. Input, Output and Data Types

Lecture 3. Input, Output and Data Types Lecture 3 Input, Output and Data Types Goals for today Variable Types Integers, Floating-Point, Strings, Booleans Conversion between types Operations on types Input/Output Some ways of getting input, and

More information

CS/IT 114 Introduction to Java, Part 1 FALL 2016 CLASS 10: OCT. 6TH INSTRUCTOR: JIAYIN WANG

CS/IT 114 Introduction to Java, Part 1 FALL 2016 CLASS 10: OCT. 6TH INSTRUCTOR: JIAYIN WANG CS/IT 114 Introduction to Java, Part 1 FALL 2016 CLASS 10: OCT. 6TH INSTRUCTOR: JIAYIN WANG 1 Notice Assignments Reading Assignment: Chapter 3: Introduction to Parameters and Objects The Class 10 Exercise

More information

Principles of Programming Languages. Lecture Outline

Principles of Programming Languages. Lecture Outline Principles of Programming Languages CS 492 Lecture 1 Based on Notes by William Albritton 1 Lecture Outline Reasons for studying concepts of programming languages Programming domains Language evaluation

More information

Computer Architecture Prof. Smruti Ranjan Sarangi Department of Computer Science and Engineering Indian Institute of Technology, Delhi

Computer Architecture Prof. Smruti Ranjan Sarangi Department of Computer Science and Engineering Indian Institute of Technology, Delhi Computer Architecture Prof. Smruti Ranjan Sarangi Department of Computer Science and Engineering Indian Institute of Technology, Delhi Lecture 01 Introduction to Computer Architecture Hello everybody,

More information

CSE 1001 Fundamentals of Software Development 1. Identifiers, Variables, and Data Types Dr. H. Crawford Fall 2018

CSE 1001 Fundamentals of Software Development 1. Identifiers, Variables, and Data Types Dr. H. Crawford Fall 2018 CSE 1001 Fundamentals of Software Development 1 Identifiers, Variables, and Data Types Dr. H. Crawford Fall 2018 Identifiers, Variables and Data Types Reserved Words Identifiers in C Variables and Values

More information

CS 101, Mock Computer Architecture

CS 101, Mock Computer Architecture CS 101, Mock Computer Architecture Computer organization and architecture refers to the actual hardware used to construct the computer, and the way that the hardware operates both physically and logically

More information

CS1100 Introduction to Programming

CS1100 Introduction to Programming Course Outline Introduction to Computing CS00 Introduction to Programming Introduction to Computing Programming (in C) Exercises and examples from the mathematical area of Numerical Methods Madhu Mutyam

More information

CHAPTER 1 Introduction to Computers and Java

CHAPTER 1 Introduction to Computers and Java CHAPTER 1 Introduction to Computers and Java Copyright 2016 Pearson Education, Inc., Hoboken NJ Chapter Topics Chapter 1 discusses the following main topics: Why Program? Computer Systems: Hardware and

More information

Full file at

Full file at Java Programming: From Problem Analysis to Program Design, 3 rd Edition 2-1 Chapter 2 Basic Elements of Java At a Glance Instructor s Manual Table of Contents Overview Objectives s Quick Quizzes Class

More information

What we will do today Explain and look at examples of. Programs that examine data. Data types. Topic 4. variables. expressions. assignment statements

What we will do today Explain and look at examples of. Programs that examine data. Data types. Topic 4. variables. expressions. assignment statements Topic 4 Variables Once a programmer has understood the use of variables, he has understood the essence of programming -Edsger Dijkstra What we will do today Explain and look at examples of primitive data

More information

COMS 1003 Fall Introduction to Computer Programming in C. Bits, Boolean Logic & Discrete Math. September 13 th

COMS 1003 Fall Introduction to Computer Programming in C. Bits, Boolean Logic & Discrete Math. September 13 th COMS 1003 Fall 2005 Introduction to Computer Programming in C Bits, Boolean Logic & Discrete Math September 13 th Hello World! Logistics See the website: http://www.cs.columbia.edu/~locasto/ Course Web

More information

CS/IT 114 Introduction to Java, Part 1 FALL 2016 CLASS 3: SEP. 13TH INSTRUCTOR: JIAYIN WANG

CS/IT 114 Introduction to Java, Part 1 FALL 2016 CLASS 3: SEP. 13TH INSTRUCTOR: JIAYIN WANG CS/IT 114 Introduction to Java, Part 1 FALL 2016 CLASS 3: SEP. 13TH INSTRUCTOR: JIAYIN WANG 1 Notice Reading Assignment Chapter 1: Introduction to Java Programming Homework 1 It is due this coming Sunday

More information

Computing and compilers

Computing and compilers Computing and compilers Comp Sci 1570 to Outline 1 2 3 4 5 Evaluate the difference between hardware and software Find out about the various types of software Get a high level understanding of how program

More information

Basic Operations jgrasp debugger Writing Programs & Checkstyle

Basic Operations jgrasp debugger Writing Programs & Checkstyle Basic Operations jgrasp debugger Writing Programs & Checkstyle Suppose you wanted to write a computer game to play "Rock, Paper, Scissors". How many combinations are there? Is there a tricky way to represent

More information

Hello, World! An Easy Intro to Python & Programming. Jack Rosenthal

Hello, World! An Easy Intro to Python & Programming. Jack Rosenthal An Easy Intro to Python & Programming Don t just buy a new video game, make one. Don t just download the latest app, help design it. Don t just play on your phone, program it. No one is born a computer

More information

SSEA Computer Science: Track A. Dr. Cynthia Lee Lecturer in Computer Science Stanford

SSEA Computer Science: Track A. Dr. Cynthia Lee Lecturer in Computer Science Stanford SSEA Computer Science: Track A Dr. Cynthia Lee Lecturer in Computer Science Stanford Topics for today Introduce Java programming language Assignment and type casting Expressions Operator precedence Code

More information

Slide Set 11. for ENCM 369 Winter 2015 Lecture Section 01. Steve Norman, PhD, PEng

Slide Set 11. for ENCM 369 Winter 2015 Lecture Section 01. Steve Norman, PhD, PEng Slide Set 11 for ENCM 369 Winter 2015 Lecture Section 01 Steve Norman, PhD, PEng Electrical & Computer Engineering Schulich School of Engineering University of Calgary Winter Term, 2015 ENCM 369 W15 Section

More information

Data Representation. Interpreting bits to give them meaning. Part 1: Numbers, Bases, and Binary

Data Representation. Interpreting bits to give them meaning. Part 1: Numbers, Bases, and Binary Data Representation Interpreting bits to give them meaning Part 1: Numbers, Bases, and Binary Notes for CSC 100 - The Beauty and Joy of Computing The University of North Carolina at Greensboro What you

More information

Functional Languages. Hwansoo Han

Functional Languages. Hwansoo Han Functional Languages Hwansoo Han Historical Origins Imperative and functional models Alan Turing, Alonzo Church, Stephen Kleene, Emil Post, etc. ~1930s Different formalizations of the notion of an algorithm

More information

First Programming Language in CS Education The Arguments for Scala

First Programming Language in CS Education The Arguments for Scala First Programming Language in CS Education The Arguments for Scala WORLDCOMP 2011 By Dr. Mark C. Lewis Trinity University Disclaimer I am writing a Scala textbook that is under contract with CRC Press.

More information

Chapter Overview. Assembly Language for Intel-Based Computers, 4 th Edition. Chapter 1: Basic Concepts. Printing this Slide Show

Chapter Overview. Assembly Language for Intel-Based Computers, 4 th Edition. Chapter 1: Basic Concepts. Printing this Slide Show Assembly Language for Intel-Based Computers, 4 th Edition Kip R. Irvine Chapter 1: Basic Concepts Chapter Overview Welcome to Assembly Language Virtual Machine Concept Data Representation Boolean Operations

More information

Bits, Words, and Integers

Bits, Words, and Integers Computer Science 52 Bits, Words, and Integers Spring Semester, 2017 In this document, we look at how bits are organized into meaningful data. In particular, we will see the details of how integers are

More information

Chapter 11 :: Functional Languages

Chapter 11 :: Functional Languages Chapter 11 :: Functional Languages Programming Language Pragmatics Michael L. Scott Copyright 2016 Elsevier 1 Chapter11_Functional_Languages_4e - Tue November 21, 2017 Historical Origins The imperative

More information

Chapter 2 Using Data. Instructor s Manual Table of Contents. At a Glance. A Guide to this Instructor s Manual:

Chapter 2 Using Data. Instructor s Manual Table of Contents. At a Glance. A Guide to this Instructor s Manual: Java Programming, Eighth Edition 2-1 Chapter 2 Using Data A Guide to this Instructor s Manual: We have designed this Instructor s Manual to supplement and enhance your teaching experience through classroom

More information

CS 231 Data Structures and Algorithms, Fall 2016

CS 231 Data Structures and Algorithms, Fall 2016 CS 231 Data Structures and Algorithms, Fall 2016 Dr. Bruce A. Maxwell Department of Computer Science Colby College Course Description Focuses on the common structures used to store data and the standard

More information

COSC 122 Computer Fluency. Computer Organization. Dr. Ramon Lawrence University of British Columbia Okanagan

COSC 122 Computer Fluency. Computer Organization. Dr. Ramon Lawrence University of British Columbia Okanagan COSC 122 Computer Fluency Computer Organization Dr. Ramon Lawrence University of British Columbia Okanagan ramon.lawrence@ubc.ca Key Points 1) The standard computer (von Neumann) architecture consists

More information

Language Basics. /* The NUMBER GAME - User tries to guess a number between 1 and 10 */ /* Generate a random number between 1 and 10 */

Language Basics. /* The NUMBER GAME - User tries to guess a number between 1 and 10 */ /* Generate a random number between 1 and 10 */ Overview Language Basics This chapter describes the basic elements of Rexx. It discusses the simple components that make up the language. These include script structure, elements of the language, operators,

More information

Information Science 1

Information Science 1 Information Science 1 Simple Calcula,ons Week 09 College of Information Science and Engineering Ritsumeikan University Topics covered l Terms and concepts from Week 8 l Simple calculations Documenting

More information

COMP Computer Basics. Yi Hong May 13, 2015

COMP Computer Basics. Yi Hong May 13, 2015 COMP 110-001 Computer Basics Yi Hong May 13, 2015 Today Hardware and memory Programs and compiling Your first program 2 Before Programming Need to know basics of a computer Understand what your program

More information

CISC 124: Introduction To Computing Science II

CISC 124: Introduction To Computing Science II CISC 124: Introduction To Computing Science II instructor: Margaret Lamb instructor's home page: www.cs.queensu.ca/home/malamb office: Goodwin 527 current office hours are always on my home page 1 Moodle

More information

Chris Riesbeck, Fall Introduction to Computer Systems

Chris Riesbeck, Fall Introduction to Computer Systems Chris Riesbeck, Fall 2011 Introduction to Computer Systems Welcome to Intro. to Computer Systems Everything you need to know http://www.cs.northwestern.edu/academics/courses/213/ Instructor: Chris Riesbeck

More information

An Introduction to Software Engineering. David Greenstein Monta Vista High School

An Introduction to Software Engineering. David Greenstein Monta Vista High School An Introduction to Software Engineering David Greenstein Monta Vista High School Software Today Software Development Pre-1970 s - Emphasis on efficiency Compact, fast algorithms on machines with limited

More information

Two Types of Types. Primitive Types in Java. Using Primitive Variables. Class #07: Java Primitives. Integer types.

Two Types of Types. Primitive Types in Java. Using Primitive Variables. Class #07: Java Primitives. Integer types. Class #07: Java Primitives Software Design I (CS 120): M. Allen, 13 Sep. 2018 Two Types of Types So far, we have mainly been dealing with objects, like DrawingGizmo, Window, Triangle, that are: 1. Specified

More information

Course Syllabus [1/2]

Course Syllabus [1/2] Course Syllabus [1/2] Instructor 逄愛君, acpang@csie.ntu.edu.tw Office Number: 417, Office Hour: 15:00~17:00 (Thursday) Textbook Assembly Language for Intel-Based Computers, Kip R. Irvine, Pearson Education,

More information

CS 242. Fundamentals. Reading: See last slide

CS 242. Fundamentals. Reading: See last slide CS 242 Fundamentals Reading: See last slide Syntax and Semantics of Programs Syntax The symbols used to write a program Semantics The actions that occur when a program is executed Programming language

More information

Functional Programming Lecture 1: Introduction

Functional Programming Lecture 1: Introduction Functional Programming Lecture 1: Introduction Viliam Lisý Artificial Intelligence Center Department of Computer Science FEE, Czech Technical University in Prague viliam.lisy@fel.cvut.cz Acknowledgements

More information

Game keystrokes or Calculates how fast and moves a cartoon Joystick movements how far to move a cartoon figure on screen figure on screen

Game keystrokes or Calculates how fast and moves a cartoon Joystick movements how far to move a cartoon figure on screen figure on screen Computer Programming Computers can t do anything without being told what to do. To make the computer do something useful, you must give it instructions. You can give a computer instructions in two ways:

More information

COMP Primitive and Class Types. Yi Hong May 14, 2015

COMP Primitive and Class Types. Yi Hong May 14, 2015 COMP 110-001 Primitive and Class Types Yi Hong May 14, 2015 Review What are the two major parts of an object? What is the relationship between class and object? Design a simple class for Student How to

More information

At its simplest, a computer is a collection of wires, transistors and electrical components that are connected in a specific way When you send

At its simplest, a computer is a collection of wires, transistors and electrical components that are connected in a specific way When you send What is a computer? At its simplest, a computer is a collection of wires, transistors and electrical components that are connected in a specific way When you send certain sequences of voltages down the

More information

Last Time. University of British Columbia CPSC 111, Intro to Computation Alan J. Hu. Readings

Last Time. University of British Columbia CPSC 111, Intro to Computation Alan J. Hu. Readings University of British Columbia CPSC 111, Intro to Computation Alan J. Hu Writing a Simple Java Program Intro to Variables Readings Your textbook is Big Java (3rd Ed). This Week s Reading: Ch 2.1-2.5, Ch

More information

Programming Language Basics

Programming Language Basics Programming Language Basics Lecture Outline & Notes Overview 1. History & Background 2. Basic Program structure a. How an operating system runs a program i. Machine code ii. OS- specific commands to setup

More information

4. Java Project Design, Input Methods

4. Java Project Design, Input Methods 4-1 4. Java Project Design, Input Methods Review and Preview You should now be fairly comfortable with creating, compiling and running simple Java projects. In this class, we continue learning new Java

More information

7/8/10 KEY CONCEPTS. Problem COMP 10 EXPLORING COMPUTER SCIENCE. Algorithm. Lecture 2 Variables, Types, and Programs. Program PROBLEM SOLVING

7/8/10 KEY CONCEPTS. Problem COMP 10 EXPLORING COMPUTER SCIENCE. Algorithm. Lecture 2 Variables, Types, and Programs. Program PROBLEM SOLVING KEY CONCEPTS COMP 10 EXPLORING COMPUTER SCIENCE Lecture 2 Variables, Types, and Programs Problem Definition of task to be performed (by a computer) Algorithm A particular sequence of steps that will solve

More information

Fundamentals. Fundamentals. Fundamentals. We build up instructions from three types of materials

Fundamentals. Fundamentals. Fundamentals. We build up instructions from three types of materials Fundamentals We build up instructions from three types of materials Constants Expressions Fundamentals Constants are just that, they are values that don t change as our macros are executing Fundamentals

More information

6.S189 Homework 1. What to turn in. Exercise 1.1 Installing Python. Exercise 1.2 Hello, world!

6.S189 Homework 1. What to turn in. Exercise 1.1 Installing Python. Exercise 1.2 Hello, world! 6.S189 Homework 1 http://web.mit.edu/6.189/www/materials.html What to turn in Do the warm-up problems for Days 1 & 2 on the online tutor. Complete the problems below on your computer and get a checkoff

More information

CSc 10200! Introduction to Computing. Lecture 1 Edgardo Molina Fall 2013 City College of New York

CSc 10200! Introduction to Computing. Lecture 1 Edgardo Molina Fall 2013 City College of New York CSc 10200! Introduction to Computing Lecture 1 Edgardo Molina Fall 2013 City College of New York 1 Introduction to Computing Lectures: Tuesday and Thursday s (2-2:50 pm) Location: NAC 1/202 Recitation:

More information

Scala : an LLVM-targeted Scala compiler

Scala : an LLVM-targeted Scala compiler Scala : an LLVM-targeted Scala compiler Da Liu, UNI: dl2997 Contents 1 Background 1 2 Introduction 1 3 Project Design 1 4 Language Prototype Features 2 4.1 Language Features........................................

More information

Chapter 1: Introduction to Computer Science and Media Computation

Chapter 1: Introduction to Computer Science and Media Computation Chapter 1: Introduction to Computer Science and Media Computation Story What is computer science about? What computers really understand, and where Programming Languages fit in Media Computation: Why digitize

More information

} Evaluate the following expressions: 1. int x = 5 / 2 + 2; 2. int x = / 2; 3. int x = 5 / ; 4. double x = 5 / 2.

} Evaluate the following expressions: 1. int x = 5 / 2 + 2; 2. int x = / 2; 3. int x = 5 / ; 4. double x = 5 / 2. Class #10: Understanding Primitives and Assignments Software Design I (CS 120): M. Allen, 19 Sep. 18 Java Arithmetic } Evaluate the following expressions: 1. int x = 5 / 2 + 2; 2. int x = 2 + 5 / 2; 3.

More information

Introduction to Scientific Computing

Introduction to Scientific Computing Introduction to Scientific Computing Dr Hanno Rein Last updated: October 12, 2018 1 Computers A computer is a machine which can perform a set of calculations. The purpose of this course is to give you

More information

COMS 1003 Fall Introduction to Computer Programming in C. History & Computer Organization. September 15 th

COMS 1003 Fall Introduction to Computer Programming in C. History & Computer Organization. September 15 th COMS 1003 Fall 2005 Introduction to Computer Programming in C History & Computer Organization September 15 th What's Ahead Some computer history Introduction to major players in the development of hardware

More information

CMSC 104 -Lecture 2 John Y. Park, adapted by C Grasso

CMSC 104 -Lecture 2 John Y. Park, adapted by C Grasso CMSC 104 -Lecture 2 John Y. Park, adapted by C Grasso 1 Topics Major Computer Components Bits, Bytes, and Words The Decimal Number System The Binary Number System Converting from Binary to Decimal Converting

More information

Assembly Language for Intel-Based Computers, 4 th Edition. Chapter 1: Basic Concepts. Chapter Overview. Welcome to Assembly Language

Assembly Language for Intel-Based Computers, 4 th Edition. Chapter 1: Basic Concepts. Chapter Overview. Welcome to Assembly Language Assembly Language for Intel-Based Computers, 4 th Edition Kip R. Irvine Chapter 1: Basic Concepts Slides prepared by Kip R. Irvine Revision date: 09/15/2002 Chapter corrections (Web) Printing a slide show

More information

COURSE OVERVIEW. Introduction to Computer Engineering 2015 Spring by Euiseong Seo

COURSE OVERVIEW. Introduction to Computer Engineering 2015 Spring by Euiseong Seo COURSE OVERVIEW Introduction to Computer Engineering 2015 Spring by Euiseong Seo Course Objectives Introduction to computer engineering For computer engineer-wannabe For students studying other fields

More information

Von Neumann Architecture

Von Neumann Architecture Von Neumann Architecture Assist lecturer Donya A. Khalid Lecture 2 2/29/27 Computer Organization Introduction In 945, just after the World War, Jon Von Neumann proposed to build a more flexible computer.

More information

ECOM 2325 Computer Organization and Assembly Language. Instructor: Ruba A.Salamah INTRODUCTION

ECOM 2325 Computer Organization and Assembly Language. Instructor: Ruba A.Salamah INTRODUCTION ECOM 2325 Computer Organization and Assembly Language Instructor: Ruba A.Salamah INTRODUCTION Overview Welcome to ECOM 2325 Assembly-, Machine-, and High-Level Languages Assembly Language Programming Tools

More information

Introduction to Computers and Programming Languages. CS 180 Sunil Prabhakar Department of Computer Science Purdue University

Introduction to Computers and Programming Languages. CS 180 Sunil Prabhakar Department of Computer Science Purdue University Introduction to Computers and Programming Languages CS 180 Sunil Prabhakar Department of Computer Science Purdue University 1 Objectives This week we will study: The notion of hardware and software Programming

More information

Intro to Python & Programming. C-START Python PD Workshop

Intro to Python & Programming. C-START Python PD Workshop Don t just buy a new video game, make one. Don t just download the latest app, help design it. Don t just play on your phone, program it. No one is born a computer scientist, but with a little hard work

More information

Programming Language Pragmatics

Programming Language Pragmatics Chapter 10 :: Functional Languages Programming Language Pragmatics Michael L. Scott Historical Origins The imperative and functional models grew out of work undertaken Alan Turing, Alonzo Church, Stephen

More information

CS 106 Introduction to Computer Science I

CS 106 Introduction to Computer Science I CS 106 Introduction to Computer Science I 05 / 31 / 2017 Instructor: Michael Eckmann Today s Topics Questions / Comments? recap and some more details about variables, and if / else statements do lab work

More information