CSC 015: FUNDAMENTALS OF COMPUTER SCIENCE I

Size: px
Start display at page:

Download "CSC 015: FUNDAMENTALS OF COMPUTER SCIENCE I"

Transcription

1 CSC 015: FUNDAMENTALS OF COMPUTER SCIENCE I Lecture 1: Class Introduction DR. BO TANG ASSISTANT PROFESSOR HOFSTRA UNIVERSITY 1 9/7/16 CSC15 - Python

2 OUTLINE What is Computer Science? What is this Class about? Introduction to Computer Systems Overview of Programming Language

3 WHAT IS COMPUTER SCIENCE (CS) CS is the study of how to write computer programs (programming)?? No. Programming is a big part of CS, but it is not the most important part. CS is posing a problem in such a way that a computer can help us solve it. CS is the study of algorithms to solve problems with their hardware (Computer Design) and software (Programming) realizations.

4 WHY CS: I The computer is incredibly fast, accurate, and stupid. Man is unbelievably slow, inaccurate, and brilliant. The marriage of the two is a force beyond calculation. -Leo Cherne

5 WHY CS: II Everybody in the country should learn how to program a computer... Because it teaches you how to think. -Steve Jobs

6 WHY CS: III CS connects to other fields: Mathematics: closely-related to CS, theory of computation, equation solutions, etc. Physics: Hypothesis testing, simulation, experimental data processing, etc. Biology: data collection, data analysis, etc. Robotics: computer vision, path planning, autonomous control, etc. Electrical Engineering: computer-aided design (CAD), simulation, embedded systems, etc.

7 WHAT IS THIS CLASS ABOUT? The purpose is to use programming language as a tool to solve the problems: Develop a basic understanding of computer programming; Master a very high-level computer programming language: Python; Develop problem solving skills with computer program design. 7

8 WHAT IS THIS CLASS ABOUT? Topics will be covered in this class: # Topic* # of Weeks 1 Introduction to Computer Systems Variables, Expressions, Data Types Control Flow: Conditions and Loops 1 4 File Operations 1 5 Array, List 2 6 Function Calls 2 7 Recursion 1 8 Algorithm Design I Algorithm Design II Introduction to Object-Oriented Design 2 8

9 WHAT YOU NEED FOR THIS CLASS Instructor: Office Hrs: Labs: Dr. Bo Tang Adams 104 Tuesday 1:00 PM 2:00 PM Adams 204 Account & Your Own Laptop Text: John M. Zelle, Python Programming an Introduction to Computer Science (2e) Slides: in Blackboard. 9

10 YOUR LAPTOP! CPU >1.0Ghz RAM >1GB Disk Space >1GB Install Python 2.7: Windows Mac OS Linux Other Platforms

11 GRADING POLICY: I Grading Two Midterm Exams (Open Book) ~30% Midterm I: Early Oct. Midterm II: Early Nov. Final Exam (Open Book) ~20% Early December Assignments (12-13) ~50% Due date specified in Blackboard Note: including mini-projects Grades will be posted on Blackboard Must submit request for change of grade within one week after grades posted (for each assignment)

12 GRADING POLICY: II Final Letter Grade will be determined by A = 91 to 100 or top 10% of class, A- = 85 to 90 or top 20% of class, B+ = 80 to 84 or top 30% of class, B = 75 to 79 or top 40% of class, B- = 70 to 74 or top 50% of class, C+ = 65 to 69 or top 60% of class, C = 60 to 64 or top 70% of class, C- = 55 to 59 or top 80% of class, D = 45 to 54, F = below 45. Note: You will get A if your final score is 88, but in top 10% of class. You will get F if and only if your final score is below 45.

13 LATE POLICY Late Penalty Tabular 1 day* late 20% 2 day late 40% 3 day late 60% 4 day late 80% 5 day late 100% * Day Business Day (Holiday Excluded, Sick Day with Documents excluded) Example: Jack s HW1 is 2 days late and scores 80 out of 100 points. What s the final points he receives for HW1? 80 points * (1-40%) = 48points.

14 INTRODUCTION TO COMPUTER SYSTEMS Computers: Hardware Software

15 INTRODUCTION TO COMPUTER SYSTEMS Computers: Hardware Software Functional View of a Computer

16 INSIDE THE CPU Fetch-Execute Cycle First load the instruction sets to instruction cache from memory Fetch an instruction from the cache Decode the instruction to see what it represents Appropriate action carries out. Next instruction fetches, decodes, and executes. repeat!

17 INTRODUCTION TO COMPUTER SYSTEMS Computers: Hardware Software

18 PROGRAMMING LANGUAGE: I Programming is to write the instructions that the computer will follow. High-level computer languages Designed to be used and understood by humans: C, C++, Java, Python, etc. Low-level language Understood by human, but difficult to design: Assembly. Machine Language Only be understood by CPU.

19 PROGRAMMING LANGUAGE: II Example: Add two numbers Low-level language (Assembly): Load the number from memory location 2001 into the CPU (mov ax, 2001) Load the number from memory location 2002 into the CPU (mov bx, 2002) Add the two numbers in the CPU (add ax, bx) Store the result into location 2003 (mov 2003, ax) Machine language: A set of binary numbers (1 s and 0 s)

20 PROGRAMMING LANGUAGE: III High-level language: c = a + b This needs to be translated (via compilers or interpreters) into machine language that the computer can execute. Python that we will learn in this class is a very highlevel programming language. Vocabulary à Key words (just a few) Grammar à Syntax: expressions, data structures, etc.

21 WHAT IS A PROGRAM A program is a sequence of instructions that specifies how to perform a computation. Basic instructions appear in about every language: input: get data from keyboard, a file, or some devices output: Display data on the screen or send data to a file. math: perform basic mathematical operations conditional execution: check for certain conditions and execute particular sequence of statements. repetition: perform some actions repeatedly, usually with some variation.

22 INTRODUCTION TO PYTHON When you start Python, you will see something like: Python (default, Dec , 12:28:03) [MSC v bit (AMD64)] on win32 Type "copyright", "credits" or "license()" for more information. >>>

23 INTRODUCTION TO PYTHON The >>> is a Python prompt indicating that Python is ready for us to give it a command. These commands are called statements. >>> print("hello, world ) Hello, world >>> print(2+3) 5 >>> print("2+3=", 2+3) 2+3= 5 >>>

24 INTRODUCTION TO PYTHON Usually we want to execute several statements together that solve a common problem. One way to do this is to use a function. >>> def hello(): name = raw_input( Please enter your name: ) msg = Hello + name +. Welcome to CSC15! print(msg)

25 INTRODUCTION TO PYTHON def hello(): name = raw_input( Please enter your name: ) msg = Hello + name +. Welcome to CSC15! print(msg) qbeginning of the definition of a function called hello

26 INTRODUCTION TO PYTHON def hello(): name = raw_input( Please enter your name: ) msg = Hello + name +. Welcome to CSC15! print(msg) qraw_input( ) is a function to take user s input, and the quoted information is displayed. qname is an example of a variable. Here, it stores user s input. qa variable is used to assign a name to a value so that we can refer to it later.

27 INTRODUCTION TO PYTHON def hello(): name = raw_input( Please enter your name: ) msg = Hello + name +. Welcome to CSC15! print(msg) qmsg is a new variable that constructs a new string with the value of name.

28 INTRODUCTION TO PYTHON def hello(): name = raw_input( Please enter your name: ) msg = Hello + name +. Welcome to CSC15! print(msg) qprint() is a function causing Python to print a message.

29 INTRODUCTION TO PYTHON >>> def hello(): name = raw_input( Please enter your name: ) msg = Hello + name +. Welcome to CSC15! print(msg) Notice that nothing has happened yet! We ve defined the function, but we haven t told Python to perform the function! A function is invoked by typing its name. >>> hello() Please enter your name: Jack Hello Jack. Welcome to CSC15! >>> When we exit the Python prompt, the functions we ve defined cease to exist! Use module files or scripts that are saved on disk.

30 INTRODUCTION TO PYTHON # File: hello.py # A simple program asks name and print hello msg # Input and Output def hello(): name = raw_input( Please enter your name: ) msg = Hello + name +. Welcome to CSC15! print(msg) hello()

31 INTRODUCTION TO PYTHON # File: hello.py # A simple program asks name and print hello msg # Input and Output qlines that start with # are called comments qintended for human readers and ignored by Python qpython skips text from # to end of line

32 INTRODUCTION TO PYTHON def hello(): name = raw_input( Please enter your name: ) msg = Hello + name +. Welcome to CSC15! print(msg) hello () qthis last line tells Python to execute the code in the function hello.

33 SUMMARY: COMPUTER SYSTEMS Hardware: Input/output devices, CPU, Memory, Hard Disks, etc. Software: Programming/coding to provide instructions to computer. Example of hello.py illustrates how the program take user s input from keyboard, and output desired messages. Next Week: elements of programs (variables, expressions, operators, etc.), and practice to write Python programs.

34 SOMETHING YOU NEED TO KNOW WHEN YOU START PROGRAMMING 1. You learn by doing. (The only way to get better at programming). 2. Programming isn t like studying for a test. 3. Let go of your emotions. 4. Trying to understand everything is a lost cause. 5. A right way to ask for help: a) Explain exactly what you think should be happening b) Explain exactly what is actually happening c) Explain why you think it should be working differently. 6. You don t need to be a math genius.

35 SOMETHING YOU NEED TO KNOW WHEN YOU START PROGRAMMING 7. It is ok to admit what don t know. 8. Programmers never stop learning. 9. Make the computer think like a human. Ken Mazaika, Quora.com

Introduction to Computer Programming for Non-Majors CSC 2301, Fall The Department of Computer Science

Introduction to Computer Programming for Non-Majors CSC 2301, Fall The Department of Computer Science Introduction to Computer Programming for Non-Majors CSC 2301, Fall 2015 The Department of Computer Science CSC 2301 Welcome to Class CSC 2301! Introduction to Computer Programming for Non-Majors Who are

More information

CS 190C: Introduction to Computational Thinking

CS 190C: Introduction to Computational Thinking CS 190C: Introduction to Computational Thinking http://secant.cs.purdue.edu/cs190c:start Python Programming: An Introduction to Computer Science Zelle s book is a gentle introductory computing text used

More information

Introduction to Computer Programming for Non-Majors

Introduction to Computer Programming for Non-Majors Introduction to Computer Programming for Non-Majors CSC 2301, Fall 2016 Chapter 1 Instructor: Long Ma The Department of Computer Science Objectives To understand the respective roles of hardware and software

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

The >>> is a Python prompt indicating that Python is ready for us to give it a command. These commands are called statements.

The >>> is a Python prompt indicating that Python is ready for us to give it a command. These commands are called statements. When you start Python, you will see something like: Python 3.1.2 (r312:79149, Mar 21 2010, 00:41:52) [MSC v.1500 32 bit (Intel)] on win32 Type "copyright", "credits" or "license()" for more information.

More information

CS240: Programming in C

CS240: Programming in C CS240: Programming in C Lecture 1: Class overview. Cristina Nita-Rotaru Lecture 1/ Fall 2013 1 WELCOME to CS240 Cristina Nita-Rotaru Lecture 1/ Fall 2013 2 240 Team Instructor: Cristina Nita-Rotaru Special

More information

Administration Computers Software Algorithms Programming Languages

Administration Computers Software Algorithms Programming Languages Administration Computers Software Algorithms Programming Languages http://www.cs.sfu.ca/cc/130/johnwill/ This course does not use Canvas John Edgar 3 Come to class Read ahead Attend the labs You get practice

More information

Introduction, Programming, Python. Michael Mandel Lecture 1 Methods in Computational Linguistics I The City University of New York, Graduate Center

Introduction, Programming, Python. Michael Mandel Lecture 1 Methods in Computational Linguistics I The City University of New York, Graduate Center Introduction, Programming, Python Michael Mandel Lecture 1 Methods in Computational Linguistics I The City University of New York, Graduate Center Outline Class Information Introduction to Computer Science

More information

COMP 401 COURSE OVERVIEW

COMP 401 COURSE OVERVIEW COMP 401 COURSE OVERVIEW Instructor: Prasun Dewan (FB 150, help401@cs.unc.edu) Course page: http://www.cs.unc.edu/~dewan/comp401/current/ COURSE PAGE Linked from my home page (google my name to find it)

More information

CS 3030 Scripting Languages Syllabus

CS 3030 Scripting Languages Syllabus General Information CS 3030 Scripting Languages Semester: Fall 2017 Textbook: Location: Instructor Info: None. We will use freely available resources from the Internet. Online Ted Cowan tedcowan@weber.edu

More information

CSC116: Introduction to Computing - Java

CSC116: Introduction to Computing - Java CSC116: Introduction to Computing - Java Course Information Introductions Website Syllabus Computers First Java Program Text Editor Helpful Commands Java Download Intro to CSC116 Instructors Course Instructor:

More information

BOSTON UNIVERSITY Metropolitan College MET CS342 Data Structures with Java Dr. V.Shtern (Fall 2011) Course Syllabus

BOSTON UNIVERSITY Metropolitan College MET CS342 Data Structures with Java Dr. V.Shtern (Fall 2011) Course Syllabus BOSTON UNIVERSITY Metropolitan College MET CS342 Data Structures with Java Dr. V.Shtern (Fall 2011) Course Syllabus 1. Course Objectives Welcome to MET CS342 Data Structures with Java. The intent of this

More information

CSC209. Software Tools and Systems Programming. https://mcs.utm.utoronto.ca/~209

CSC209. Software Tools and Systems Programming. https://mcs.utm.utoronto.ca/~209 CSC209 Software Tools and Systems Programming https://mcs.utm.utoronto.ca/~209 What is this Course About? Software Tools Using them Building them Systems Programming Quirks of C The file system System

More information

CSC116: Introduction to Computing - Java

CSC116: Introduction to Computing - Java CSC116: Introduction to Computing - Java Intro to CSC116 Course Information Introductions Website Syllabus Computers First Java Program Text Editor Helpful Commands Java Download Course Instructor: Instructors

More information

CSC 111 Introduction to Computer Science (Section C)

CSC 111 Introduction to Computer Science (Section C) CSC 111 Introduction to Computer Science (Section C) Course Description: (4h) Lecture and laboratory. Rigorous introduction to the process of algorithmic problem solving and programming in a modern programming

More information

Anupam Gupta, Braydon Hall, Eugene Oh, Savanna Yee. Steve Jobs custom Apple I and other historic machines are on display at Seattle museum

Anupam Gupta, Braydon Hall, Eugene Oh, Savanna Yee. Steve Jobs custom Apple I and other historic machines are on display at Seattle museum Computers CSE 120 Spring 2017 Instructor: Justin Hsia Teaching Assistants: Anupam Gupta, Braydon Hall, Eugene Oh, Savanna Yee Steve Jobs custom Apple I and other historic machines are on display at Seattle

More information

Introduction to Data Structures

Introduction to Data Structures 15-121 Introduction to Data Structures Lecture #1 Introduction 28 August 2019 Margaret Reid-Miller Today Course Administration Overview of Course A (very basic) Java introduction Course website: www.cs.cmu.edu/~mrmiller/15-121

More information

CS 240 Fall Mike Lam, Professor. Just-for-fun survey:

CS 240 Fall Mike Lam, Professor. Just-for-fun survey: CS 240 Fall 2014 Mike Lam, Professor Just-for-fun survey: http://strawpoll.me/2421207 Today Course overview Course policies Python Motivation Computers are digital Data is stored in binary format (1's

More information

CS1110 Lab 1 (Jan 27-28, 2015)

CS1110 Lab 1 (Jan 27-28, 2015) CS1110 Lab 1 (Jan 27-28, 2015) First Name: Last Name: NetID: Completing this lab assignment is very important and you must have a CS 1110 course consultant tell CMS that you did the work. (Correctness

More information

Introduction to Computer Systems

Introduction to Computer Systems Introduction to Computer Systems Syllabus Web Page http://www.cs.northwestern.edu/~pdinda/icsclass Instructor Peter A. Dinda 1890 Maple Avenue, Room 338 847-467-7859 pdinda@cs.northwestern.edu Office hours:

More information

Welcome to CompSci 201

Welcome to CompSci 201 Welcome to CompSci 201 Data Structures and Algorithms Go to the class webpage http://www.cs.duke.edu/courses/compsci201/ fall13/wordpress/ Start looking around 1 Welcome Prof. Peck Ben Reem An army of

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

CMPSCI 201: Architecture and Assembly Language

CMPSCI 201: Architecture and Assembly Language CMPSCI 201: Architecture and Assembly Language Deepak Ganesan Computer Science Department 1-1 Course Administration Instructor: Deepak Ganesan (dganesan@cs.umass.edu) 250 CS Building Office Hrs: T 10:45-12:15,

More information

Scientific Computing: Lecture 1

Scientific Computing: Lecture 1 Scientific Computing: Lecture 1 Introduction to course, syllabus, software Getting started Enthought Canopy, TextWrangler editor, python environment, ipython, unix shell Data structures in Python Integers,

More information

CS 326: Operating Systems. Lecture 1

CS 326: Operating Systems. Lecture 1 CS 326: Operating Systems Lecture 1 Welcome to CS 326! Glad to have you all in class! Lecture Information: Time: T, Th 9:55 11:40am Lab: M 4:45 6:20pm Room: LS G12 Course website: http://www.cs.usfca.edu/~mmalensek/cs326

More information

61A LECTURE 1 FUNCTIONS, VALUES. Steven Tang and Eric Tzeng June 24, 2013

61A LECTURE 1 FUNCTIONS, VALUES. Steven Tang and Eric Tzeng June 24, 2013 61A LECTURE 1 FUNCTIONS, VALUES Steven Tang and Eric Tzeng June 24, 2013 Welcome to CS61A! The Course Staff - Lecturers Steven Tang Graduated L&S CS from Cal Back for a PhD in Education Eric Tzeng Graduated

More information

CS120 Computer Science I. Instructor: Jia Song

CS120 Computer Science I. Instructor: Jia Song CS120 Computer Science I Instructor: Jia Song Instructor Contact Information Instructor: Dr. Jia Song Email: jsong@uidaho.edu (Preferred) Phone: (208) 885-1710 Office: JEB 240 (CSDS Security Lab) JEB 340

More information

CS 1110, LAB 1: PYTHON EXPRESSIONS.

CS 1110, LAB 1: PYTHON EXPRESSIONS. CS 1110, LAB 1: PYTHON EXPRESSIONS Name: Net-ID: There is an online version of these instructions at http://www.cs.cornell.edu/courses/cs1110/2012fa/labs/lab1 You may wish to use that version of the instructions.

More information

CS 1110 SPRING 2016: GETTING STARTED (Jan 27-28) First Name: Last Name: NetID:

CS 1110 SPRING 2016: GETTING STARTED (Jan 27-28)   First Name: Last Name: NetID: CS 1110 SPRING 2016: GETTING STARTED (Jan 27-28) http://www.cs.cornell.edu/courses/cs1110/2016sp/labs/lab01/lab01.pdf First Name: Last Name: NetID: Goals. Learning a computer language is a lot like learning

More information

Welcome to Computer Organization and Design Logic

Welcome to Computer Organization and Design Logic Welcome to Computer Organization and Design Logic CS 64: Computer Organization and Design Logic Lecture #1 Fall 2018 Ziad Matni, Ph.D. Dept. of Computer Science, UCSB A Word About Registration for CS64

More information

CSC116: Introduction to Computing - Java

CSC116: Introduction to Computing - Java CSC116: Introduction to Computing - Java Course Information Introductions Website Syllabus Schedule Computing Environment AFS (Andrew File System) Linux/Unix Commands Helpful Tricks Computers First Java

More information

An Introduction to Python (TEJ3M & TEJ4M)

An Introduction to Python (TEJ3M & TEJ4M) An Introduction to Python (TEJ3M & TEJ4M) What is a Programming Language? A high-level language is a programming language that enables a programmer to write programs that are more or less independent of

More information

Welcome to Solving Problems with Computers I

Welcome to Solving Problems with Computers I Welcome to Solving Problems with Computers I CS 16: Solving Problems with Computers I Lecture #1 Ziad Matni Dept. of Computer Science, UCSB Image from agorolabs on slideshare.com A Word About Registration

More information

Today. An Animated Introduction to Programming. Prerequisites. Computer programming

Today. An Animated Introduction to Programming. Prerequisites. Computer programming Today 1 2 3 4 Computer programming What is this course about? We re making several assumptions about you as a student. In particular, we assume that you have: Never taken a programming course before. Have

More information

CSC108: Introduction to Computer Programming. Lecture 1

CSC108: Introduction to Computer Programming. Lecture 1 CSC108: Introduction to Computer Programming Lecture 1 Wael Aboulsaadat Acknowledgment: these slides are based on material by: Velian Pandeliev, Diane Horton, Michael Samozi, Jennifer Campbell, and Paul

More information

CMSC 201 Spring 2017 Lab 01 Hello World

CMSC 201 Spring 2017 Lab 01 Hello World CMSC 201 Spring 2017 Lab 01 Hello World Assignment: Lab 01 Hello World Due Date: Sunday, February 5th by 8:59:59 PM Value: 10 points At UMBC, our General Lab (GL) system is designed to grant students the

More information

CS 536. Class Meets. Introduction to Programming Languages and Compilers. Instructor. Key Dates. Teaching Assistant. Charles N. Fischer.

CS 536. Class Meets. Introduction to Programming Languages and Compilers. Instructor. Key Dates. Teaching Assistant. Charles N. Fischer. CS 536 Class Meets Introduction to Programming Languages and Compilers Mondays, Wednesdays & Fridays, 11:00 11:50 204 Educational Sciences Charles N. Fischer Instructor Fall 2012 http://www.cs.wisc.edu/~fischer/cs536.html

More information

CSC209. Software Tools and Systems Programming. https://mcs.utm.utoronto.ca/~209

CSC209. Software Tools and Systems Programming. https://mcs.utm.utoronto.ca/~209 CSC209 Software Tools and Systems Programming https://mcs.utm.utoronto.ca/~209 What is this Course About? Software Tools Using them Building them Systems Programming Quirks of C The file system System

More information

Outline. CIS 110: Introduction to Computer Programming. What is Computer Science? What is computer programming? What is computer science?

Outline. CIS 110: Introduction to Computer Programming. What is Computer Science? What is computer programming? What is computer science? Outline CIS 110: Introduction to Computer Programming Lecture 1 An introduction of an introduction ( 1.1 1.3)* 1. What is computer science and computer programming? 2. Introductions and logistics 3. The

More information

CS 152 Computer Architecture and Engineering Lecture 1 Single Cycle Design

CS 152 Computer Architecture and Engineering Lecture 1 Single Cycle Design CS 152 Computer Architecture and Engineering Lecture 1 Single Cycle Design 2014-1-21 John Lazzaro (not a prof - John is always OK) TA: Eric Love www-inst.eecs.berkeley.edu/~cs152/ Play: 1 Today s lecture

More information

! Learn how to think like a computer scientist. ! Learn problem solving. ! Read and write code. ! Understand object oriented programming

! Learn how to think like a computer scientist. ! Learn problem solving. ! Read and write code. ! Understand object oriented programming 1 TOPIC 1 INTRODUCTION TO COMPUTER SCIENCE AND PROGRAMMING Topic 1 Introduction to Computer Science and Programming Notes adapted from Introduction to Computing and Programming with Java: A Multimedia

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

Professor Hugh C. Lauer CS-1004 Introduction to Programming for Non-Majors

Professor Hugh C. Lauer CS-1004 Introduction to Programming for Non-Majors First Python Program Professor Hugh C. Lauer CS-1004 Introduction to Programming for Non-Majors (Slides include materials from Python Programming: An Introduction to Computer Science, 2 nd edition, by

More information

ITNW 1425 Fundamentals of Networking Technologies Course Syllabus fall 2012

ITNW 1425 Fundamentals of Networking Technologies Course Syllabus fall 2012 ITNW 1425 Fundamentals of Networking Technologies Course Syllabus fall 2012 Instructor Course Reference Number (CRN) Course Description: Course Prerequisite(s) Course Semester Credit Hours (SCH) (Lecture,

More information

Topics. Hardware and Software. Introduction. Main Memory. The CPU 9/21/2014. Introduction to Computers and Programming

Topics. Hardware and Software. Introduction. Main Memory. The CPU 9/21/2014. Introduction to Computers and Programming Topics C H A P T E R 1 Introduction to Computers and Programming Introduction Hardware and Software How Computers Store Data Using Python Introduction Computers can be programmed Designed to do any job

More information

Welcome to Computer Organization and Design Logic CS 64: Computer Organization and Design Logic Lecture #1 Winter 2018

Welcome to Computer Organization and Design Logic CS 64: Computer Organization and Design Logic Lecture #1 Winter 2018 Welcome to Computer Organization and Design Logic CS 64: Computer Organization and Design Logic Lecture #1 Winter 2018 Ziad Matni Dept. of Computer Science, UCSB A Word About Registration for CS64 FOR

More information

CS 241 Computer Programming. Introduction. Teacher Assistant. Hadeel Al-Ateeq

CS 241 Computer Programming. Introduction. Teacher Assistant. Hadeel Al-Ateeq CS 241 Computer Programming Introduction Teacher Assistant Hadeel Al-Ateeq 1 2 Course URL: http://241cs.wordpress.com/ Hadeel Al-Ateeq 3 Textbook HOW TO PROGRAM BY C++ DEITEL AND DEITEL, Seventh edition.

More information

Inf2C - Computer Systems Lecture 1 Course overview & the big picture

Inf2C - Computer Systems Lecture 1 Course overview & the big picture Inf2C - Computer Systems Lecture 1 Course overview & the big picture Boris Grot School of Informatics University of Edinburgh Practicalities Lectures: Tue 15:10 16:00 @ Appleton Tower, LT 2 Fri 15:10 16:00

More information

CPSC 213. Introduction to Computer Systems. Introduction. Unit 0

CPSC 213. Introduction to Computer Systems. Introduction. Unit 0 CPSC 213 Introduction to Computer Systems Unit Introduction 1 Overview of the course Hardware context of a single executing program hardware context is CPU and Main Memory develop CPU architecture to implement

More information

CS/SE 153 Concepts of Compiler Design

CS/SE 153 Concepts of Compiler Design San José State University Department of Computer Science CS/SE 153 Concepts of Compiler Design Section 1 Fall 2018 Course and Contact Information Instructor: Ron Mak Office Location: ENG 250 Email: ron.mak@sjsu.edu

More information

CSC 172 Data Structures and Algorithms. Fall 2017 TuTh 3:25 pm 4:40 pm Aug 30- Dec 22 Hoyt Auditorium

CSC 172 Data Structures and Algorithms. Fall 2017 TuTh 3:25 pm 4:40 pm Aug 30- Dec 22 Hoyt Auditorium CSC 172 Data Structures and Algorithms Fall 2017 TuTh 3:25 pm 4:40 pm Aug 30- Dec 22 Hoyt Auditorium Agenda Administrative aspects Brief overview of the course Hello world in Java CSC 172, Fall 2017, UR

More information

C H A P T E R 1. Introduction to Computers and Programming

C H A P T E R 1. Introduction to Computers and Programming C H A P T E R 1 Introduction to Computers and Programming Topics Introduction Hardware and Software How Computers Store Data How a Program Works Using Python Computer Uses What do students use computers

More information

Lecture 1. Introduction to course, Welcome to Engineering, What is Programming and Why is this the first thing being covered in Engineering?

Lecture 1. Introduction to course, Welcome to Engineering, What is Programming and Why is this the first thing being covered in Engineering? Lecture 1 Introduction to course, Welcome to Engineering, What is Programming and Why is this the first thing being covered in Engineering? Welcome to ENGR 102 Syllabus review Your Time Expectations (in

More information

COMP Data Structures

COMP Data Structures COMP 2140 - Data Structures Shahin Kamali Topic 1 - Introductions University of Manitoba Based on notes by S. Durocher. COMP 2140 - Data Structures 1 / 35 Introduction COMP 2140 - Data Structures 1 / 35

More information

Internet Web Technologies ITP 104 (2 Units)

Internet Web Technologies ITP 104 (2 Units) Internet Web Technologies ITP 104 (2 Units) Spring 2011 Objective This course is intended to teach the basics involved in publishing content on the World Wide Web. This includes the language of the Web

More information

Chris Simpkins (Georgia Tech) CS 2316 Data Manipulation for Engineers Python Overview 1 / 9

Chris Simpkins (Georgia Tech) CS 2316 Data Manipulation for Engineers Python Overview 1 / 9 http://xkcd.com/353/ Chris Simpkins (Georgia Tech) CS 2316 Data Manipulation for Engineers Python Overview 1 / 9 Python Python is a general-purpose programming language, meaning you can write any kind

More information

Introduction to Computing Systems: From Bits and Gates to C and Beyond 2 nd Edition

Introduction to Computing Systems: From Bits and Gates to C and Beyond 2 nd Edition Lecture Goals Introduction to Computing Systems: From Bits and Gates to C and Beyond 2 nd Edition Yale N. Patt Sanjay J. Patel Original slides from Gregory Byrd, North Carolina State University Modified

More information

COMP Data Structures

COMP Data Structures Shahin Kamali Topic 1 - Introductions University of Manitoba Based on notes by S. Durocher. 1 / 35 Introduction Introduction 1 / 35 Introduction In a Glance... Data structures are building blocks for designing

More information

CS 323 Lecture 1. Design and Analysis of Algorithms. Hoeteck Wee

CS 323 Lecture 1. Design and Analysis of Algorithms. Hoeteck Wee { CS 323 Lecture 1 } Design and Analysis of Algorithms Hoeteck Wee hoeteck@cs.qc.cuny.edu http://cs323.qwriting.org/ Algorithmic ideas are pervasive APPLICATIONS. Economics, auctions and game theory Biology,

More information

CS313T ADVANCED PROGRAMMING LANGUAGE

CS313T ADVANCED PROGRAMMING LANGUAGE CS313T ADVANCED PROGRAMMING LANGUAGE Computer Science department Lecture 1 : Introduction Lecture Contents 2 Course Info. Course objectives Course plan Books and references Assessment methods and grading

More information

CMSC 201 Spring 2018 Lab 01 Hello World

CMSC 201 Spring 2018 Lab 01 Hello World CMSC 201 Spring 2018 Lab 01 Hello World Assignment: Lab 01 Hello World Due Date: Sunday, February 4th by 8:59:59 PM Value: 10 points At UMBC, the GL system is designed to grant students the privileges

More information

One of the hardest things you have to do is to keep track of three kinds of commands when writing and running computer programs. Those commands are:

One of the hardest things you have to do is to keep track of three kinds of commands when writing and running computer programs. Those commands are: INTRODUCTION Your first daily assignment is to modify the program test.py to make it more friendly. But first, you need to learn how to edit programs quickly and efficiently. That means using the keyboard

More information

CSC 261/461 Database Systems. Fall 2017 MW 12:30 pm 1:45 pm CSB 601

CSC 261/461 Database Systems. Fall 2017 MW 12:30 pm 1:45 pm CSB 601 CSC 261/461 Database Systems Fall 2017 MW 12:30 pm 1:45 pm CSB 601 Agenda Administrative aspects Brief overview of the course Introduction to databases and SQL ADMINISTRATIVE ASPECTS Teaching Staff Instructor:

More information

EECS 282 Information Systems Design and Programming. Atul Prakash Professor, Computer Science and Engineering University of Michigan

EECS 282 Information Systems Design and Programming. Atul Prakash Professor, Computer Science and Engineering University of Michigan EECS 282 Information Systems Design and Programming Atul Prakash Professor, Computer Science and Engineering University of Michigan 1 What is the Course About? A second programming course - but different

More information

Fundamentals of Programming. Lecture 1: Introduction to C Programming

Fundamentals of Programming. Lecture 1: Introduction to C Programming 1 Fundamentals of Programming Lecture 1: Introduction to C Programming Instructor: Fatemeh Zamani f_zamani@ce.sharif.edu Sharif University of Technology Computer Engineering Department 2 Outline Grading

More information

EECS 282 Information Systems Design and Programming. Atul Prakash Professor, Computer Science and Engineering University of Michigan

EECS 282 Information Systems Design and Programming. Atul Prakash Professor, Computer Science and Engineering University of Michigan EECS 282 Information Systems Design and Programming Atul Prakash Professor, Computer Science and Engineering University of Michigan 1 What is the Course About? A second programming course - but different

More information

Algorithms and Programming I. Lecture#12 Spring 2015

Algorithms and Programming I. Lecture#12 Spring 2015 Algorithms and Programming I Lecture#12 Spring 2015 Think Python How to Think Like a Computer Scientist By :Allen Downey Installing Python Follow the instructions on installing Python and IDLE on your

More information

Exploring Python Basics

Exploring Python Basics CptS 111 Lab #1 Fall 2017 Exploring Python Basics Learning Objectives: - Use the IDLE Shell window to run Python interactively - Use the IDLE Editor window to write a Python program (script) - Run Python

More information

CS 240 Fall 2015 Section 004. Alvin Chao, Professor

CS 240 Fall 2015 Section 004. Alvin Chao, Professor CS 240 Fall 2015 Section 004 Alvin Chao, Professor Today Course overview Data Structures / Algorithms Course policies The C language Motivation Computers are digital Data is stored in binary format (1's

More information

CS61C Machine Structures. Lecture 1 Introduction. 8/27/2006 John Wawrzynek (Warzneck)

CS61C Machine Structures. Lecture 1 Introduction. 8/27/2006 John Wawrzynek (Warzneck) CS61C Machine Structures Lecture 1 Introduction 8/27/2006 John Wawrzynek (Warzneck) (http://www.cs.berkeley.edu/~johnw/) http://www-inst.eecs.berkeley.edu/~cs61c/ CS 61C L01 Introduction (1) What are Machine

More information

Computer Systems and Networks. ECPE 170 University of the Pacific

Computer Systems and Networks. ECPE 170 University of the Pacific ECPE 170 University of the Pacific Introduction 2 A Modern Computer 3 Applications 4 Application Angry Birds Written in a high level language (Objective C) What resources does Angry Birds need to run?

More information

CS 241 Data Organization. August 21, 2018

CS 241 Data Organization. August 21, 2018 CS 241 Data Organization August 21, 2018 Contact Info Instructor: Dr. Marie Vasek Contact: Private message me on the course Piazza page. Office: Room 2120 of Farris Web site: www.cs.unm.edu/~vasek/cs241/

More information

STEAM Clown & Productions Copyright 2017 STEAM Clown. Page 1

STEAM Clown & Productions Copyright 2017 STEAM Clown. Page 1 What to add next time you are updating these slides Update slides to have more animation in the bullet lists Verify that each slide has stand alone speaker notes Page 1 Python 3 Running The Python Interpreter

More information

CSc 2310 Principles of Programming (Java) Jyoti Islam

CSc 2310 Principles of Programming (Java) Jyoti Islam CSc 2310 Principles of Programming (Java) Jyoti Islam Are you in the right class??? Check the CRN of your registration Instructor Jyoti Islam PhD Student, concentration: Machine Learning 4+ years of Industry

More information

INF 315E Introduction to Databases School of Information Fall 2015

INF 315E Introduction to Databases School of Information Fall 2015 INF 315E Introduction to Databases School of Information Fall 2015 Class Hours: Tuesday & Thursday10:30 am-12:00 pm Instructor: Eunyoung Moon Email: eymoon@utexas.edu Course Description Almost every website

More information

MEIN 50010: Python Introduction

MEIN 50010: Python Introduction : Python Fabian Sievers Higgins Lab, Conway Institute University College Dublin Wednesday, 2017-10-04 Outline Goals Teach basic programming concepts Apply these concepts using Python Use Python Packages

More information

COMP 250. Lecture 36 MISC. - beyond COMP final exam comments

COMP 250. Lecture 36 MISC. - beyond COMP final exam comments COMP 250 Lecture 36 MISC - beyond COMP 250 - final exam comments Dec 5, 2016 1 202 Intro Program MATH (prereqs for many upper level COMP courses) 206 Software Systems 273 Computer Systems 250 Intro Comp

More information

CS 3813/718 Fall Python Programming. Professor Liang Huang.

CS 3813/718 Fall Python Programming. Professor Liang Huang. CS 3813/718 Fall 2012 Python Programming Professor Liang Huang huang@cs.qc.cuny.edu http://vision.cs.qc.cuny.edu/huang/python-2012f/ Logistics Lectures: TTh 9:25-10:40 am SB B-141 Personnel Instructor

More information

CSE 142. Lecture 1 Course Introduction; Basic Java. Portions Copyright 2008 by Pearson Education

CSE 142. Lecture 1 Course Introduction; Basic Java. Portions Copyright 2008 by Pearson Education CSE 142 Lecture 1 Course Introduction; Basic Java Welcome Today: Course mechanics A little about computer science & engineering (CSE) And how this course relates Java programs that print text 2 Handouts

More information

EECE 321: Computer Organization

EECE 321: Computer Organization EECE 321: Computer Organization Mohammad M. Mansour Dept. of Electrical and Compute Engineering American University of Beirut Lecture 1: Introduction Administrative Instructor Dr. Mohammad M. Mansour,

More information

CS 3030 Scripting Languages Syllabus

CS 3030 Scripting Languages Syllabus General Information CS 3030 Scripting Languages Semester: Summer 2013 Textbook: Location: Instructor Info: Website: None. We will use freely available resources from the Internet. Online Ted Cowan tedcowan@weber.edu

More information

CSC 101: Lab Manual#9 Machine Language and the CPU (largely based on the work of Prof. William Turkett) Lab due date: 5:00pm, day after lab session

CSC 101: Lab Manual#9 Machine Language and the CPU (largely based on the work of Prof. William Turkett) Lab due date: 5:00pm, day after lab session CSC 101: Lab Manual#9 Machine Language and the CPU (largely based on the work of Prof. William Turkett) Lab due date: 5:00pm, day after lab session Purpose: The purpose of this lab is to gain additional

More information

B. Subject-specific skills B1. Problem solving skills: Supply the student with the ability to solve different problems related to the topics

B. Subject-specific skills B1. Problem solving skills: Supply the student with the ability to solve different problems related to the topics Zarqa University Faculty: Information Technology Department: Computer Science Course title: Programming LAB 1 (1501111) Instructor: Lecture s time: Semester: Office Hours: Course description: This introductory

More information

Programming for Engineers in Python

Programming for Engineers in Python Programming for Engineers in Python Lecture 13: Shit Happens Autumn 2011-12 1 Lecture 12: Highlights Dynamic programming Overlapping subproblems Optimal structure Memoization Fibonacci Evaluating trader

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

Fundamentals of Programming (Python) Basic Concepts. Ali Taheri Sharif University of Technology Spring 2018

Fundamentals of Programming (Python) Basic Concepts. Ali Taheri Sharif University of Technology Spring 2018 Fundamentals of Programming (Python) Basic Concepts Ali Taheri Sharif University of Technology Outline 1. What is a Computer? 2. Computer System Organization 3. What is a Computer Program? 4. Programming

More information

COMP Summer 2015 (A01) Jim (James) Young jimyoung.ca

COMP Summer 2015 (A01) Jim (James) Young jimyoung.ca COMP 1010- Summer 2015 (A01) Jim (James) Young young@cs.umanitoba.ca jimyoung.ca Hello! James (Jim) Young young@cs.umanitoba.ca jimyoung.ca office hours T / Th: 17:00 18:00 EITC-E2-582 (or by appointment,

More information

OO software systems are systems of interacting objects.

OO software systems are systems of interacting objects. OO software systems are systems of interacting objects. Objects have Objects properties: these are things that objects know e.g. what you had for breakfast behaviors: these are things objects do e.g. being

More information

http://xkcd.com/224/ CS252 Programming Language Paradigms Prof. Tom Austin San José State University Fall 2014 What are some programming languages? Why are there so many? Different domains. Mobile devices

More information

Python Input, output and variables. Lecture 22 COMPSCI111/111G SS 2016

Python Input, output and variables. Lecture 22 COMPSCI111/111G SS 2016 Python Input, output and variables Lecture 22 COMPSCI111/111G SS 2016 Today s lecture u What is Python? u Displaying text on screen using print() u Variables u Numbers and basic arithmetic u Getting input

More information

Kris Gaj Research and teaching interests: ECE 646 Cryptography and Computer Network Security. Course web page: Contact: ECE 646

Kris Gaj Research and teaching interests: ECE 646 Cryptography and Computer Network Security. Course web page: Contact: ECE 646 646 and Computer Network Security Course web page: web page Courses 646 Kris Gaj Research and teaching interests: cryptography network security computer arithmetic FPGA & ASIC design and testing Contact:

More information

CS101 Lecture 24: Thinking in Python: Input and Output Variables and Arithmetic. Aaron Stevens 28 March Overview/Questions

CS101 Lecture 24: Thinking in Python: Input and Output Variables and Arithmetic. Aaron Stevens 28 March Overview/Questions CS101 Lecture 24: Thinking in Python: Input and Output Variables and Arithmetic Aaron Stevens 28 March 2011 1 Overview/Questions Review: Programmability Why learn programming? What is a programming language?

More information

Introduction to Programming System Design CSCI 455x (4 Units)

Introduction to Programming System Design CSCI 455x (4 Units) Introduction to Programming System Design CSCI 455x (4 Units) Description This course covers programming in Java and C++. Topics include review of basic programming concepts such as control structures,

More information

(Refer Slide Time 00:01:09)

(Refer Slide Time 00:01:09) Computer Organization Part I Prof. S. Raman Department of Computer Science & Engineering Indian Institute of Technology Lecture 3 Introduction to System: Hardware In the previous lecture I said that I

More information

CS 61C: Great Ideas in Computer Architecture. Direct Mapped Caches

CS 61C: Great Ideas in Computer Architecture. Direct Mapped Caches CS 61C: Great Ideas in Computer Architecture Direct Mapped Caches Instructor: Justin Hsia 7/05/2012 Summer 2012 Lecture #11 1 Review of Last Lecture Floating point (single and double precision) approximates

More information

Basic Computer Programming for ISNE. Santi Phithakkitnukoon ผศ.ดร.ส นต พ ท กษ ก จน ก ร

Basic Computer Programming for ISNE. Santi Phithakkitnukoon ผศ.ดร.ส นต พ ท กษ ก จน ก ร 269102 Basic Computer Programming for ISNE Santi Phithakkitnukoon ผศ.ดร.ส นต พ ท กษ ก จน ก ร Syllabus Instructor: Asst. Prof. Dr. Santi Phithakkitnukoon ผศ.ดร.ส นต พ ท กษ ก จน ก ร (อ.เอ ม) Office room:

More information

Instructor. Mehmet Zeki COSKUN Assistant Professor at the Geodesy & Photogrammetry, Civil Eng. (212)

Instructor. Mehmet Zeki COSKUN Assistant Professor at the Geodesy & Photogrammetry, Civil Eng. (212) Instructor Mehmet Zeki COSKUN Assistant Professor at the Geodesy & Photogrammetry, Civil Eng. (212) 285-6573 coskunmeh@itu.edu.tr http://atlas.cc.itu.edu.tr/~coskun Address Consultation of Students: Monday

More information

CS270 Computer Organization Fall 2017

CS270 Computer Organization Fall 2017 CS270 Computer Organization Fall 2017 Lecture Goals Review course logistics Assignments & quizzes Policies Organization Grading Criteria Introduce key concepts Role of Abstraction Software versus Hardware

More information

Introduction to Computer Systems

Introduction to Computer Systems Introduction to Computer Systems Web Page http://pdinda.org/ics Syllabus See the web page for more information. Class discussions are on Piazza We will make only minimal use of Canvas (grade reports, perhaps

More information

Exploring Python Basics

Exploring Python Basics CptS 111 Lab #1 Exploring Python Basics Learning Objectives: - Use the IDLE Shell window to run Python interactively - Use the IDLE Editor window to write a Python program (script) - Run Python programs

More information