CS 40 Computing for the Web

Save this PDF as:
 WORD  PNG  TXT  JPG

Size: px
Start display at page:

Download "CS 40 Computing for the Web"

Transcription

1 CS 40 Computing for the Web Art Lee January 20, 2015

2 Announcements Course web on Sakai Homework assignments submit them on Sakai me the survey: See the Announcements page on the course web for instructions Reading assignment for this and next week: Chapter 1 of Downey and HTML tutorial Take a break around 3:25pm 2

3 Goals Introduction to computer science Web programming using HTML, CSS, JavaScript, and Python Data programming using Python Learn how to solve a problem by: Defining (understanding) the problem Developing a solution (algorithm) Implementing the solution by writing a computer program Testing and fixing the programming solution Will do this by 1. Learning to program in Python 2. Developing web programs using HTML, CSS, JavaScript, and Flask through both client- and server-side programming to create both static and dynamic contents 3. Developing data analysis programs using Python in some select areas 3

4 Philosophy Welcome all majors and backgrounds! Provide a healthy mix of the practical and theory Develop problem solving skills 4

5 Still deciding? Prerequisites: none Known as "CS 40" - a taste of CS doing fun, practical programming This is intended for non-cs-majors. This course is an excellent way to get an introduction to what computer science is about and learn how to program If you later find yourself interested in more computer science, we will try to find a next level CS course After this course you will be ready to learn more about programming and computer science on your own 5

6 Take this course if you... like solving problems like building things (will) work with large data sets are curious about how Facebook, Google, Amazon, ebay, etc. work have never written a computer program before want to educate yourself to be a person to live in this 'Internet age' by tasting a good bit of CS in a semester writing some interesting, practical programs in some interesting domains using some fun languages 6

7 How to succeed in this class Attend class Not all information is in my lecture notes or in the book I draw a lot on the board Take the homework assignments seriously Start early Homework will take longer than you think Do the reading assignments and review the lecture notes and experiment with example code Learning to read code takes practice Try things out Ask questions if confused 7

8 Textbooks and references Think Python: How to Think Like a Computer Scientist, Version , by Allen B. Downey, May 2013 HTML: CSS: JavaScript: Flask: Web Development: I will post links to other references as we go 8

9 Homework There will be about one assignment per week Homework assignments will be posted to the course web You will turn in homework on Sakai Respect the homework assignments! Designed to challenge you in applying what you've learned so far Start early! Programming projects almost always take longer than expected Study the solutions and compare with your own work Read "How To Approach This Class" in the syllabus for detailed suggestions 9

10 Cooperation vs. cheating Cooperation (talking over problems) is a good way to learn and is encouraged Copying is not allowed on homework or exams no matter the source (written or verbal). When you submit your homework or tests, you are pledging that the work is your own and you have not copied it. You are also pledging that you have not allowed others to copy it. Read my exact policy on this matter in the course syllabus 10

11 Grading See the "Grading" section of the course web site for details Also browse the course web to see other info that I am not going over in class Go over the course web 11

12 What is computer science? A definition from the Internet: Computer science is the systematic study of computing systems and computation. The body of knowledge resulting from this discipline contains theories for understanding computing systems and methods; design methodology, algorithms, and tools; methods for the testing of concepts; methods of analysis and verification; and knowledge representation and implementation. 12

13 For us, we will Learn how to begin with a problem statement and design a computer program that solves the problem Write programs Using a programming language, Python in particular While interacting with a computer through an operating system such as DOS, Windows, or Unix/Linux/Mac OS X Execute the programs Using an interpreter in the case of Python While trying to understand what is happening in each step of the process Will do this for other languages: HTML, CSS, JavaScript 13

14 So,... We will learn how to write a program that solves a given problem We will learn enough of the programming language Python (and HTML, CSS, JavaScript) to write such programs Along the way we will learn many fundamental concepts in computer science that make all these possible We will use a Python interpreter as part of a programming environment called Canopy (will use other tools for HTML, CSS, and JavaScript) We will use some hardware, whatever computer that you happen to be using We will learn the entire lifecycle of program development: from a concept in your head to a program that executes 14

15 So,... (cont.) At the end of the semester you will be comfortable enough (?) to write Python (HTML, CSS, JavaScript) programs that solve fairly complex problems in the web and data programming domains You will have hopefully learned enough about computer science by then and be able to study more on your own if you want to pursue further In any event the CS concepts/fundamentals that you learn in the course will help you understand the concept of computing and some of the key technologies that underlie the real world computing systems that you see now and you will see in the future 15

16 What do computer scientists do? In general, computer scientists study many sub-areas, some of which include: Operating systems Programming languages Theory of computation Algorithms and data structures Parallel systems Distributed systems Web systems Software engineering Computer architecture Databases 16

17 (cont.) Artificial intelligence Computer graphics Human-Computer Interaction Natural language processing Speech recognition Computer vision Cryptography Computer security Networking Scientific computing Biocomputing... 17

18 Demo hello.html (a Hello World! program in HTML) hello.py (a Hello World! program in Python) Some web apps that students built last semester 18

19 The big picture of a computer Hardware CPU Memory I/O devices Disk Software Operating system (DOS, Windows, Unix/Linux/OSX) Applications Web apps Mobile apps hello.html, hello.py program Python interpreter Firefox, Chrome, Facebook, ebay, Amazon, etc. 19

20 What is a program? A sequence of instructions that specifies how to perform a computational task What is the computational task that we perform in hello.html? in hello.py? 20

21 What is programming? Programming is the process of writing a program using a programming language Also referred to as "writing code" or simply "coding Program execution: the act of carrying out the instructions contained in a program A computer is pretty dumb though Consequently, you have to give super clear and precise instructions A computer will happily do the same thing forever (on an infinite loop) if you tell it to do so, even if you didn't mean to! Learning to program is just like learning a "natural" language like Spanish. You have to LEARN the: Syntax: the words and rules in the language Semantics: the meaning of each word or phrase in the language 21

22 What is a programming language? A systematic set of rules used to describe computations in a format that is editable by humans A "formal" language as opposed to a "natural" language Python (cf. C, C++, Java, C#, Objective-C, Javascript, etc.) Basic instructions in a language: input, output, math, conditional execution, repetition, etc. High-level languages Low-level languages 22

23 Computer instructions: machine language Binary instruction (1's and 0's) Most instructions just move data around or perform simple arithmetic operations Binary programming is really hard and tedious but early programmers used to do this! Example: on Intel x86 processors, means to copy a 97 to a particular register 23

24 Computer instructions: assembly language Symbolic (meaningful) names for binary instructions and memory More readable Feasible for programmers to use Example: ADD DR, SR1, SR2 ; DR <- (SR1) + (SR2) LD DR, LABEL ; DR <= Mem[LABEL] LDR DR, BaseR, Offset ; DR <- Mem[BaseR + Offset] STI SR, LABEL ; Mem[Mem[LABEL]] <= SR 24

25 Computer instructions: high-level language Symbolic names for assembly instructions and memory Symbolic names for basic operations such as conditionals and looping Language constructs for abstracting a set of instructions Close to "natural" languages - close to being readable! Example: print("welcome to CS! ) y = a * x * x + b * x + c 25

26 Why use a high-level language? Conciseness high-level programming languages allow us to perform common operations in a concise and readable fashion Maintainability Modifying and maintaining code is much easier when the code is concise and easy to read (as compared to lengthy and difficult to read assembly or binary code) Portability Different CPU's accept different binary instructions Writing in a high-level language allows code to be translated or "compiled" into a platform-specific binary code 26

27 Why Python? Simple, simpler than Java (which is simpler than C++) "In 2003 I started teaching at Olin College and I got to teach Python for the first time. The contrast with Java was striking. Students struggled less, learned more, worked on more interesting projects, and generally had a lot more fun." -- Allen Downey Highly relevant to non-cs majors Python is a general-purpose programming language Packages such as NumPy and SciPy are heavily used by scientists Other packages are available for various domains Is a modern language with good support Popular for web applications (e.g., Facebook apps) Fun to program in Widely used: becoming one of the most popular languages 27

28 Do these before next class Send me your survey form Read the course syllabus Read the course web Start reading Chapter 1 of Downey 28

29 Two pieces of advice 1. Attend every class! 2. Don t get behind! Next time Start HTML and Python programming Programming environment 29

CS 51 Intro to CS. Art Lee. September 2, 2014

CS 51 Intro to CS. Art Lee. September 2, 2014 CS 51 Intro to CS Art Lee September 2, 2014 Announcements Course web page at: http://www.cmc.edu/pages/faculty/alee/cs51/ Homework/Lab assignment submission on Sakai: https://sakai.claremont.edu/portal/site/cx_mtg_79055

More information

Fall 2012 Q530. Programming for Cognitive Science

Fall 2012 Q530. Programming for Cognitive Science Fall 2012 Q530 Programming for Cognitive Science Aimed at little or no programming experience. Improve your confidence and skills at: Writing code. Reading code. Understand the abilities and limitations

More information

SIT102 Introduction to Programming

SIT102 Introduction to Programming SIT102 Introduction to Programming After working through this session you should: Understand the relationships between operating systems, their user interfaces, and programs; Understand the difference

More information

Welcome to Introduction to Computers and Programming Course using Python

Welcome to Introduction to Computers and Programming Course using Python Welcome to Introduction to Computers and Programming Course using Python V22.0002, Section 3, Spring 2010 Course Introduction Professor: Sana Odeh odeh@courant.nyu.edu Office hours: Mondays 2:00 pm - 4

More information

Computer Programming. Course Details An Introduction to Computational Tools. Prof. Mauro Gaspari: mauro.gaspari@unibo.it

Computer Programming. Course Details An Introduction to Computational Tools. Prof. Mauro Gaspari: mauro.gaspari@unibo.it Computer Programming Course Details An Introduction to Computational Tools Prof. Mauro Gaspari: mauro.gaspari@unibo.it Road map for today The skills that we would like you to acquire: to think like a computer

More information

Objectives. Python Programming: An Introduction to Computer Science. Lab 01. What we ll learn in this class

Objectives. Python Programming: An Introduction to Computer Science. Lab 01. What we ll learn in this class Python Programming: An Introduction to Computer Science Chapter 1 Computers and Programs Objectives Introduction to the class Why we program and what that means Introduction to the Python programming language

More information

Python Programming: An Introduction to Computer Science

Python Programming: An Introduction to Computer Science Python Programming: An Introduction to Computer Science Chapter 1 Computers and Programs 1 Objectives To understand the respective roles of hardware and software in a computing system. To learn what computer

More information

Chapter 13: Program Development and Programming Languages

Chapter 13: Program Development and Programming Languages 15 th Edition Understanding Computers Today and Tomorrow Comprehensive Chapter 13: Program Development and Programming Languages Deborah Morley Charles S. Parker Copyright 2015 Cengage Learning Learning

More information

Chapter 13: Program Development and Programming Languages

Chapter 13: Program Development and Programming Languages Understanding Computers Today and Tomorrow 12 th Edition Chapter 13: Program Development and Programming Languages Learning Objectives Understand the differences between structured programming, object-oriented

More information

Programming Languages

Programming Languages Programming Languages Qing Yi Course web site: www.cs.utsa.edu/~qingyi/cs3723 cs3723 1 A little about myself Qing Yi Ph.D. Rice University, USA. Assistant Professor, Department of Computer Science Office:

More information

Outline. hardware components programming environments. installing Python executing Python code. decimal and binary notations running Sage

Outline. hardware components programming environments. installing Python executing Python code. decimal and binary notations running Sage Outline 1 Computer Architecture hardware components programming environments 2 Getting Started with Python installing Python executing Python code 3 Number Systems decimal and binary notations running

More information

A Python Tour: Just a Brief Introduction CS 303e: Elements of Computers and Programming

A Python Tour: Just a Brief Introduction CS 303e: Elements of Computers and Programming A Python Tour: Just a Brief Introduction CS 303e: Elements of Computers and Programming "The only way to learn a new programming language is by writing programs in it." -- B. Kernighan and D. Ritchie "Computers

More information

The course assumes successful completion of CSCI E-50a and CSCI E-50b, i.e. at least two semesters of programming, with a grade of C- or better.

The course assumes successful completion of CSCI E-50a and CSCI E-50b, i.e. at least two semesters of programming, with a grade of C- or better. Syllabus Artificial Intelligence CSCI E-220 Fall 2012 Time Thursdays, 5:30-7:30pm Location Maxwell-Dworkin G135 Instructor Eric Breck (http://www-personal.umich.edu/~ebreck) Email ebreck@fas.harvard.edu

More information

CSE 373: Data Structure & Algorithms Lecture 25: Programming Languages. Nicki Dell Spring 2014

CSE 373: Data Structure & Algorithms Lecture 25: Programming Languages. Nicki Dell Spring 2014 CSE 373: Data Structure & Algorithms Lecture 25: Programming Languages Nicki Dell Spring 2014 What is a Programming Language? A set of symbols and associated tools that translate (if necessary) collections

More information

02-201: Programming for Scientists

02-201: Programming for Scientists 1. Course Information 1.1 Course description 02-201: Programming for Scientists Carl Kingsford Fall 2015 Provides a practical introduction to programming for students with little or no prior programming

More information

Problem Solving With C++ Ninth Edition

Problem Solving With C++ Ninth Edition CISC 1600/1610 Computer Science I Programming in C++ Professor Daniel Leeds dleeds@fordham.edu JMH 328A Introduction to programming with C++ Learn Fundamental programming concepts Key techniques Basic

More information

CSE 307: Principles of Programming Languages

CSE 307: Principles of Programming Languages Course Organization Introduction CSE 307: Principles of Programming Languages Spring 2015 R. Sekar Course Organization Introduction 1 / 34 Topics 1. Course Organization Info and Support Course Description

More information

INTRODUCTION TO INFORMATION SYSTEMS

INTRODUCTION TO INFORMATION SYSTEMS INTRODUCTION TO INFORMATION SYSTEMS CHAPTER.3 COMPUTER SOFTWARE PART2 System software Software that manages and supports a computer system. It can be divided into the following categories. System management

More information

Programming Languages & Tools

Programming Languages & Tools 4 Programming Languages & Tools Almost any programming language one is familiar with can be used for computational work (despite the fact that some people believe strongly that their own favorite programming

More information

Jeri R. Hanly and Elliot B. Koffman, Problem Solving and Program Design in C, 7th ed., 2012, Addison- Wesley. (Required)

Jeri R. Hanly and Elliot B. Koffman, Problem Solving and Program Design in C, 7th ed., 2012, Addison- Wesley. (Required) University of Macau Faculty of Science and Technology Department of Computer and Information Science CISB110 Programming Science Syllabus 1 st Semester 2014/2015 Part A Course Outline Compulsory course

More information

Introduction to Programming

Introduction to Programming Introduction to Programming If you re new to programming, you might be intimidated by code and flowcharts. You might even wonder how you ll ever understand them. This lesson offers some basic ideas and

More information

Chapter 1. Dr. Chris Irwin Davis Email: cid021000@utdallas.edu Phone: (972) 883-3574 Office: ECSS 4.705. CS-4337 Organization of Programming Languages

Chapter 1. Dr. Chris Irwin Davis Email: cid021000@utdallas.edu Phone: (972) 883-3574 Office: ECSS 4.705. CS-4337 Organization of Programming Languages Chapter 1 CS-4337 Organization of Programming Languages Dr. Chris Irwin Davis Email: cid021000@utdallas.edu Phone: (972) 883-3574 Office: ECSS 4.705 Chapter 1 Topics Reasons for Studying Concepts of Programming

More information

COMPUTER SCIENCE (AS) Associate Degree, Certificate of Achievement & Department Certificate Programs

COMPUTER SCIENCE (AS) Associate Degree, Certificate of Achievement & Department Certificate Programs A Course of Study for COMPUTER SCIENCE (AS) Associate Degree, Certificate of Achievement & Department Certificate Programs The field of computer science leads to a variety of careers that all require core

More information

What is a programming language?

What is a programming language? Overview Introduction Motivation Why study programming languages? Some key concepts What is a programming language? Artificial language" Computers" Programs" Syntax" Semantics" What is a programming language?...there

More information

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

CS101 Lecture 24: Thinking in Python: Input and Output Variables and Arithmetic. Aaron Stevens 28 March 2011. 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

Describe the process of parallelization as it relates to problem solving.

Describe the process of parallelization as it relates to problem solving. Level 2 (recommended for grades 6 9) Computer Science and Community Middle school/junior high school students begin using computational thinking as a problem-solving tool. They begin to appreciate the

More information

COWLEY COLLEGE & Area Vocational Technical School

COWLEY COLLEGE & Area Vocational Technical School COWLEY COLLEGE & Area Vocational Technical School COURSE PROCEDURE FOR Student Level: This course is open to students on the college level in either Freshman or Sophomore year. Prerequisites: None INTRODUCTION

More information

Python Programming: An Introduction to Computer Science

Python Programming: An Introduction to Computer Science Python Programming: An Introduction to Computer Science Chapter 1 Computers and Programs 1 The Universal Machine n A computer -- a machine that stores and manipulates information under the control of a

More information

CS 1361-D10: Computer Science I

CS 1361-D10: Computer Science I CS 1361-D10: Computer Science I Instructor Name: Lopamudra Roychoudhuri Instructor Phone Number: (325) 486-5448 Instructor email: lroychoudhuri@angelo.edu Instructor Office: MCS 205E Class Times: Online,

More information

DEGREE PLAN INSTRUCTIONS FOR COMPUTER ENGINEERING

DEGREE PLAN INSTRUCTIONS FOR COMPUTER ENGINEERING DEGREE PLAN INSTRUCTIONS FOR COMPUTER ENGINEERING Fall 2000 The instructions contained in this packet are to be used as a guide in preparing the Departmental Computer Science Degree Plan Form for the Bachelor's

More information

M.Tech. Software Systems

M.Tech. Software Systems M.Tech. Software Systems Input Requirements Employed professionals holding an Integrated First Degree of BITS or its equivalent in relevant disciplines, with minimum one year work experience in relevant

More information

Data Centers and Cloud Computing

Data Centers and Cloud Computing Data Centers and Cloud Computing CS377 Guest Lecture Tian Guo 1 Data Centers and Cloud Computing Intro. to Data centers Virtualization Basics Intro. to Cloud Computing Case Study: Amazon EC2 2 Data Centers

More information

Eastern Washington University Department of Computer Science. Questionnaire for Prospective Masters in Computer Science Students

Eastern Washington University Department of Computer Science. Questionnaire for Prospective Masters in Computer Science Students Eastern Washington University Department of Computer Science Questionnaire for Prospective Masters in Computer Science Students I. Personal Information Name: Last First M.I. Mailing Address: Permanent

More information

CS 16: Assembly Language Programming for the IBM PC and Compatibles

CS 16: Assembly Language Programming for the IBM PC and Compatibles CS 16: Assembly Language Programming for the IBM PC and Compatibles First, a little about you Your name Have you ever worked with/used/played with assembly language? If so, talk about it Why are you taking

More information

COMPUTER SCIENCE (AS) Associate Degree, Certificate of Achievement & Department Certificate Programs

COMPUTER SCIENCE (AS) Associate Degree, Certificate of Achievement & Department Certificate Programs A Course of Study f COMPUTER SCIENCE (AS) Associate Degree, Certificate of Achievement & Department Certificate Programs The field of computer science leads to a variety of careers that all require ce

More information

Computer Layers. Hardware BOOT. Operating System. Applications

Computer Layers. Hardware BOOT. Operating System. Applications Computers Software Computer Layers Hardware BOOT Operating System Applications Software Classifications System Software (operating system) Application Software Utility Software Malware Viruses and worms

More information

Topics. Introduction. Java History CS 146. Introduction to Programming and Algorithms Module 1. Module Objectives

Topics. Introduction. Java History CS 146. Introduction to Programming and Algorithms Module 1. Module Objectives Introduction to Programming and Algorithms Module 1 CS 146 Sam Houston State University Dr. Tim McGuire Module Objectives To understand: the necessity of programming, differences between hardware and software,

More information

CS 106 Introduction to Computer Science I

CS 106 Introduction to Computer Science I CS 106 Introduction to Computer Science I 01 / 21 / 2014 Instructor: Michael Eckmann Today s Topics Introduction Homework assignment Review the syllabus Review the policies on academic dishonesty and improper

More information

Department of Computer Science

Department of Computer Science 82 Advanced Biochemistry Lab II. (2-8) The second of two laboratory courses providing instruction in the modern techniques of biochemistry. Experiments are performed on the isolation, manipulation and

More information

Syllabus for CS 134 Java Programming

Syllabus for CS 134 Java Programming - Java Programming Syllabus Page 1 Syllabus for CS 134 Java Programming Computer Science Course Catalog 2000-2001: This course is an introduction to objectoriented programming using the Java language.

More information

McGraw-Hill The McGraw-Hill Companies, Inc., 20 1. 01 0

McGraw-Hill The McGraw-Hill Companies, Inc., 20 1. 01 0 1.1 McGraw-Hill The McGraw-Hill Companies, Inc., 2000 Objectives: To describe the evolution of programming languages from machine language to high-level languages. To understand how a program in a high-level

More information

Chapter 12 Programming Concepts and Languages

Chapter 12 Programming Concepts and Languages Chapter 12 Programming Concepts and Languages Chapter 12 Programming Concepts and Languages Paradigm Publishing, Inc. 12-1 Presentation Overview Programming Concepts Problem-Solving Techniques The Evolution

More information

Programming Languages

Programming Languages Programming Languages Programming languages bridge the gap between people and machines; for that matter, they also bridge the gap among people who would like to share algorithms in a way that immediately

More information

School of Computer Science

School of Computer Science School of Computer Science Computer Science - Honours Level - 2014/15 October 2014 General degree students wishing to enter 3000- level modules and non- graduating students wishing to enter 3000- level

More information

CSCI 3136 Principles of Programming Languages

CSCI 3136 Principles of Programming Languages CSCI 3136 Principles of Programming Languages Faculty of Computer Science Dalhousie University Winter 2013 CSCI 3136 Principles of Programming Languages Faculty of Computer Science Dalhousie University

More information

Fluency in Information Technology

Fluency in Information Technology Fluency in Information Technology Bulletin Description The nature of computers, their capabilities, and limitations. How computers work, popular applications, problem-solving skills, algorithms and programming.

More information

Web Development. Owen Sacco. ICS2205/ICS2230 Web Intelligence

Web Development. Owen Sacco. ICS2205/ICS2230 Web Intelligence Web Development Owen Sacco ICS2205/ICS2230 Web Intelligence Brief Course Overview An introduction to Web development Server-side Scripting Web Servers PHP Client-side Scripting HTML & CSS JavaScript &

More information

9/11/15. What is Programming? CSCI 209: Software Development. Discussion: What Is Good Software? Characteristics of Good Software?

9/11/15. What is Programming? CSCI 209: Software Development. Discussion: What Is Good Software? Characteristics of Good Software? What is Programming? CSCI 209: Software Development Sara Sprenkle sprenkles@wlu.edu "If you don't think carefully, you might think that programming is just typing statements in a programming language."

More information

An Introduction to Computer Science and Computer Organization Comp 150 Fall 2008

An Introduction to Computer Science and Computer Organization Comp 150 Fall 2008 An Introduction to Computer Science and Computer Organization Comp 150 Fall 2008 Computer Science the study of algorithms, including Their formal and mathematical properties Their hardware realizations

More information

ADVANCED SCHOOL OF SYSTEMS AND DATA STUDIES (ASSDAS) PROGRAM: CTech in Computer Science

ADVANCED SCHOOL OF SYSTEMS AND DATA STUDIES (ASSDAS) PROGRAM: CTech in Computer Science ADVANCED SCHOOL OF SYSTEMS AND DATA STUDIES (ASSDAS) PROGRAM: CTech in Computer Science Program Schedule CTech Computer Science Credits CS101 Computer Science I 3 MATH100 Foundations of Mathematics and

More information

COURSE TITLE COURSE DESCRIPTION

COURSE TITLE COURSE DESCRIPTION COURSE TITLE COURSE DESCRIPTION CS-00X COMPUTING EXIT INTERVIEW All graduating students are required to meet with their department chairperson/program director to finalize requirements for degree completion.

More information

Levels of Programming Languages. Gerald Penn CSC 324

Levels of Programming Languages. Gerald Penn CSC 324 Levels of Programming Languages Gerald Penn CSC 324 Levels of Programming Language Microcode Machine code Assembly Language Low-level Programming Language High-level Programming Language Levels of Programming

More information

Fundamentals of Programming and Software Development Lesson Objectives

Fundamentals of Programming and Software Development Lesson Objectives Lesson Unit 1: INTRODUCTION TO COMPUTERS Computer History Create a timeline illustrating the most significant contributions to computing technology Describe the history and evolution of the computer Identify

More information

Fundamentals of Computer Science (FCPS) CTY Course Syllabus

Fundamentals of Computer Science (FCPS) CTY Course Syllabus Fundamentals of Computer Science (FCPS) CTY Course Syllabus Brief Schedule Week 1 Introduction and definition Logic and Gates Hardware Systems Binary number and math Machine/Assembly Language Week 2 Operating

More information

Department of Computer Science

Department of Computer Science The University of Texas at San Antonio 1 Department of Computer Science The Department of Computer Science offers a Bachelor of Science degree in Computer Science and a Minor in Computer Science. Admission

More information

INTERESTED IN EXPANDING YOUR TECHNICAL SKILLS?

INTERESTED IN EXPANDING YOUR TECHNICAL SKILLS? INTERESTED IN EXPANDING YOUR TECHNICAL SKILLS? The ideal learning path to expand your technical knowledge differs based on your experience, goals, and how much time you have available to devote to practicing

More information

CSCI E 98: Managed Environments for the Execution of Programs

CSCI E 98: Managed Environments for the Execution of Programs CSCI E 98: Managed Environments for the Execution of Programs Draft Syllabus Instructor Phil McGachey, PhD Class Time: Mondays beginning Sept. 8, 5:30-7:30 pm Location: 1 Story Street, Room 304. Office

More information

n Introduction n Art of programming language design n Programming language spectrum n Why study programming languages? n Overview of compilation

n Introduction n Art of programming language design n Programming language spectrum n Why study programming languages? n Overview of compilation Lecture Outline Programming Languages CSCI-4430 & CSCI-6430, Spring 2016 www.cs.rpi.edu/~milanova/csci4430/ Ana Milanova Lally Hall 314, 518 276-6887 milanova@cs.rpi.edu Office hours: Wednesdays Noon-2pm

More information

The programming language C. sws1 1

The programming language C. sws1 1 The programming language C sws1 1 The programming language C invented by Dennis Ritchie in early 1970s who used it to write the first Hello World program C was used to write UNIX Standardised as K&C (Kernighan

More information

City University of Hong Kong. Information on a Course offered by Department of Computer Science with effect from Semester A in 2014 / 2015

City University of Hong Kong. Information on a Course offered by Department of Computer Science with effect from Semester A in 2014 / 2015 City University of Hong Kong Information on a Course offered by Department of Computer Science with effect from Semester A in 2014 / 2015 Part I Course Title: Mobile Application Programming Course Code:

More information

Interested in Expanding your Technical Skills?

Interested in Expanding your Technical Skills? Interested in Expanding your Technical Skills? The ideal learning path to expand your technical knowledge differs based on your experience, goals, and how much time you have available to devote to practicing

More information

COURSE SYLLABUS EDG 6931: Designing Integrated Media Environments 2 Educational Technology Program University of Florida

COURSE SYLLABUS EDG 6931: Designing Integrated Media Environments 2 Educational Technology Program University of Florida COURSE SYLLABUS EDG 6931: Designing Integrated Media Environments 2 Educational Technology Program University of Florida CREDIT HOURS 3 credits hours PREREQUISITE Completion of EME 6208 with a passing

More information

Introduction to Computers and Programming

Introduction to Computers and Programming M01_GADD7119_01_SE_C01.QXD 1/30/08 12:55 AM Page 1 CHAPTER 1 Introduction to Computers and Programming TOPICS 1.1 Introduction 1.2 Hardware and Software 1.3 How Computers Store Data 1.4 How a Program Works

More information

Writing in the Computer Science Major

Writing in the Computer Science Major Writing in the Computer Science Major Table of Contents Introduction... 2 Statement of Purpose... 2 Revision History... 2 Writing Tasks in Computer Science... 3 Documentation... 3 Planning to Program:

More information

River Dell Regional School District. Computer Programming with Python Curriculum

River Dell Regional School District. Computer Programming with Python Curriculum River Dell Regional School District Computer Programming with Python Curriculum 2015 Mr. Patrick Fletcher Superintendent River Dell Regional Schools Ms. Lorraine Brooks Principal River Dell High School

More information

CS Standards Crosswalk: CSTA K-12 Computer Science Standards and Oracle Java Programming (2014)

CS Standards Crosswalk: CSTA K-12 Computer Science Standards and Oracle Java Programming (2014) CS Standards Crosswalk: CSTA K-12 Computer Science Standards and Oracle Java Programming (2014) CSTA Website Oracle Website Oracle Contact http://csta.acm.org/curriculum/sub/k12standards.html https://academy.oracle.com/oa-web-introcs-curriculum.html

More information

Introduction to Python

Introduction to Python 1 Daniel Lucio March 2016 Creator of Python https://en.wikipedia.org/wiki/guido_van_rossum 2 Python Timeline Implementation Started v1.0 v1.6 v2.1 v2.3 v2.5 v3.0 v3.1 v3.2 v3.4 1980 1991 1997 2004 2010

More information

Advanced compiler construction. General course information. Teacher & assistant. Course goals. Evaluation. Grading scheme. Michel Schinz 2007 03 16

Advanced compiler construction. General course information. Teacher & assistant. Course goals. Evaluation. Grading scheme. Michel Schinz 2007 03 16 Advanced compiler construction Michel Schinz 2007 03 16 General course information Teacher & assistant Course goals Teacher: Michel Schinz Michel.Schinz@epfl.ch Assistant: Iulian Dragos INR 321, 368 64

More information

High-Level Programming Languages. Nell Dale & John Lewis (adaptation by Michael Goldwasser)

High-Level Programming Languages. Nell Dale & John Lewis (adaptation by Michael Goldwasser) High-Level Programming Languages Nell Dale & John Lewis (adaptation by Michael Goldwasser) Low-Level Languages What are disadvantages of low-level languages? (e.g., machine code or assembly code) Programming

More information

MEng, BSc Computer Science with Artificial Intelligence

MEng, BSc Computer Science with Artificial Intelligence School of Computing FACULTY OF ENGINEERING MEng, BSc Computer Science with Artificial Intelligence Year 1 COMP1212 Computer Processor Effective programming depends on understanding not only how to give

More information

CS 3530 Operating Systems. L02 OS Intro Part 1 Dr. Ken Hoganson

CS 3530 Operating Systems. L02 OS Intro Part 1 Dr. Ken Hoganson CS 3530 Operating Systems L02 OS Intro Part 1 Dr. Ken Hoganson Chapter 1 Basic Concepts of Operating Systems Computer Systems A computer system consists of two basic types of components: Hardware components,

More information

CS3813 Performance Monitoring Project

CS3813 Performance Monitoring Project CS3813 Performance Monitoring Project Owen Kaser October 8, 2014 1 Introduction In this project, you should spend approximately 20 hours to experiment with Intel performance monitoring facilities, and

More information

Eastern Washington University Department of Computer Science. Questionnaire for Prospective Masters in Computer Science Students

Eastern Washington University Department of Computer Science. Questionnaire for Prospective Masters in Computer Science Students Eastern Washington University Department of Computer Science Questionnaire for Prospective Masters in Computer Science Students I. Personal Information Name: Last First M.I. Mailing Address: Permanent

More information

Datavetenskapligt Program (kandidat) Computer Science Programme (master)

Datavetenskapligt Program (kandidat) Computer Science Programme (master) Datavetenskapligt Program (kandidat) Computer Science Programme (master) Wolfgang Ahrendt Director Datavetenskap (BSc), Computer Science (MSc) D&IT Göteborg University, 30/01/2009 Part I D&IT: Computer

More information

AQA GCSE in Computer Science Computer Science Microsoft IT Academy Mapping

AQA GCSE in Computer Science Computer Science Microsoft IT Academy Mapping AQA GCSE in Computer Science Computer Science Microsoft IT Academy Mapping 3.1.1 Constants, variables and data types Understand what is mean by terms data and information Be able to describe the difference

More information

Exploring Computer Science A Freshman Orientation and Exploratory Course

Exploring Computer Science A Freshman Orientation and Exploratory Course Exploring Computer Science A Freshman Orientation and Exploratory Course Stephen U. Egarievwe and Vivian J. Fielder Center for Internet Based Education and Research Department of Mathematics and Computer

More information

Introduction to Engineering Using Robotics Experiments Lecture 18 Cloud Computing

Introduction to Engineering Using Robotics Experiments Lecture 18 Cloud Computing Introduction to Engineering Using Robotics Experiments Lecture 18 Cloud Computing Yinong Chen 2 Big Data Big Data Technologies Cloud Computing Service and Web-Based Computing Applications Industry Control

More information

COMPUTER SCIENCE. FACULTY: Jennifer Bowen, Chair Denise Byrnes, Associate Chair Sofia Visa

COMPUTER SCIENCE. FACULTY: Jennifer Bowen, Chair Denise Byrnes, Associate Chair Sofia Visa FACULTY: Jennifer Bowen, Chair Denise Byrnes, Associate Chair Sofia Visa COMPUTER SCIENCE Computer Science is the study of computer programs, abstract models of computers, and applications of computing.

More information

Masters in Human Computer Interaction

Masters in Human Computer Interaction Masters in Human Computer Interaction Programme Requirements Taught Element, and PG Diploma in Human Computer Interaction: 120 credits: IS5101 CS5001 CS5040 CS5041 CS5042 or CS5044 up to 30 credits from

More information

DIABLO VALLEY COLLEGE CATALOG 2014-2015

DIABLO VALLEY COLLEGE CATALOG 2014-2015 COMPUTER SCIENCE COMSC The computer science department offers courses in three general areas, each targeted to serve students with specific needs: 1. General education students seeking a computer literacy

More information

Computer Science A.A. Degree, Certificate of Achievement & Department Certificate Programs

Computer Science A.A. Degree, Certificate of Achievement & Department Certificate Programs A Course of Study for Computer Science A.A. Degree, Certificate of Achievement & Department Certificate Programs The field of computer science leads to a variety of careers that all require core computer

More information

3 SOFTWARE AND PROGRAMMING LANGUAGES

3 SOFTWARE AND PROGRAMMING LANGUAGES 3 SOFTWARE AND PROGRAMMING LANGUAGES 3.1 INTRODUCTION In the previous lesson we discussed about the different parts and configurations of computer. It has been mentioned that programs or instructions have

More information

Instructor Özgür ZEYDAN BEU Dept. of Enve. Eng. http://cevre.beun.edu.tr/zeydan/ CIV 112 Computer Programming Lecture Notes (1)

Instructor Özgür ZEYDAN BEU Dept. of Enve. Eng. http://cevre.beun.edu.tr/zeydan/ CIV 112 Computer Programming Lecture Notes (1) Instructor Özgür ZEYDAN BEU Dept. of Enve. Eng. http://cevre.beun.edu.tr/zeydan/ CIV 112 Computer Programming Lecture Notes (1) Computer Programming A computer is a programmable machine. This means it

More information

CCA CYBER SECURITY TRACK

CCA CYBER SECURITY TRACK CCA CYBER SECURITY TRACK 2013-2014 CCA Advanced Cyber Security Track A detailed description of the advanced cyber security track. Courses to be offered in the CCA Advanced Cyber Security Track 2013-2014

More information

INTRODUCTION TO INFORMATION TECHNOLOGY CSIT 1110. Class Hours: 3.0 Credit Hours: 4.0 Laboratory Hours: 3.0 Revised: August 24, 2012

INTRODUCTION TO INFORMATION TECHNOLOGY CSIT 1110. Class Hours: 3.0 Credit Hours: 4.0 Laboratory Hours: 3.0 Revised: August 24, 2012 PELLISSIPPI STATE COMMUNITY COLLEGE MASTER SYLLABUS INTRODUCTION TO INFORMATION TECHNOLOGY CSIT 1110 Class Hours: 3.0 Credit Hours: 4.0 Laboratory Hours: 3.0 Revised: August 24, 2012 Catalog Course Description:

More information

THE NAS KERNEL BENCHMARK PROGRAM

THE NAS KERNEL BENCHMARK PROGRAM THE NAS KERNEL BENCHMARK PROGRAM David H. Bailey and John T. Barton Numerical Aerodynamic Simulations Systems Division NASA Ames Research Center June 13, 1986 SUMMARY A benchmark test program that measures

More information

CIS 50: Intro to Computing Information Technology

CIS 50: Intro to Computing Information Technology CIS 50: Intro to Computing Information Technology Spring 2015 Welcome to Sections: DE1: CRN# 30342 (online), DE2: CRN# 30224 (online), V02: CRN# 30031 (T/TH, 9:30-10:45) 9:30-10:45 CIS 50: Intro to Computing

More information

REGULATIONS FOR THE DEGREE OF BACHELOR OF SCIENCE IN BIOINFORMATICS (BSc[BioInf])

REGULATIONS FOR THE DEGREE OF BACHELOR OF SCIENCE IN BIOINFORMATICS (BSc[BioInf]) 820 REGULATIONS FOR THE DEGREE OF BACHELOR OF SCIENCE IN BIOINFORMATICS (BSc[BioInf]) (See also General Regulations) BMS1 Admission to the Degree To be eligible for admission to the degree of Bachelor

More information

Introduction to the course, Eclipse and Python

Introduction to the course, Eclipse and Python As you arrive: 1. Start up your computer and plug it in. 2. Log into Angel and go to CSSE 120. Do the Attendance Widget the PIN is on the board. 3. Go to the Course Schedule web page. Open the Slides for

More information

RARITAN VALLEY COMMUNITY COLLEGE COURSE OUTLINE. CISY 103 Computer Concepts and Programming

RARITAN VALLEY COMMUNITY COLLEGE COURSE OUTLINE. CISY 103 Computer Concepts and Programming RARITAN VALLEY COMMUNITY COLLEGE COURSE OUTLINE CISY 103 Computer Concepts and Programming I. Basic Course Information A. Course Number and Title: CISY-103, Computer Concepts and Programming B. New or

More information

2. Analysis, Design and Implementation

2. Analysis, Design and Implementation 2. Subject/Topic/Focus: Software Production Process Summary: Software Crisis Software as a Product: From Individual Programs to Complete Application Systems Software Development: Goals, Tasks, Actors,

More information

Guide to the MSCS Program Sheet

Guide to the MSCS Program Sheet Guide to the MSCS Program Sheet Eric Roberts and Mehran Sahami (revisions by Claire Stager) September 2012 Welcome to the Stanford Computer Science Department! This guide is designed to help you understand

More information

Subject knowledge requirements for entry into computer science teacher training. Expert group s recommendations

Subject knowledge requirements for entry into computer science teacher training. Expert group s recommendations Subject knowledge requirements for entry into computer science teacher training Expert group s recommendations Introduction To start a postgraduate primary specialist or secondary ITE course specialising

More information

Software: Systems and Application Software

Software: Systems and Application Software Software: Systems and Application Software Computer Software Operating System Popular Operating Systems Language Translators Utility Programs Applications Programs Types of Application Software Personal

More information

Computer Science Graduate Program Rules and Procedures Michigan Technological University. May 9, 2012

Computer Science Graduate Program Rules and Procedures Michigan Technological University. May 9, 2012 Computer Science Graduate Program Rules and Procedures Michigan Technological University May 9, 2012 Contents 1 Introduction 2 2 Ph.D. Policies and Procedures 2 2.1 Admission Requirements..................................

More information

Computer System: User s View. Computer System Components: High Level View. Input. Output. Computer. Computer System: Motherboard Level

Computer System: User s View. Computer System Components: High Level View. Input. Output. Computer. Computer System: Motherboard Level System: User s View System Components: High Level View Input Output 1 System: Motherboard Level 2 Components: Interconnection I/O MEMORY 3 4 Organization Registers ALU CU 5 6 1 Input/Output I/O MEMORY

More information

EE361: Digital Computer Organization Course Syllabus

EE361: Digital Computer Organization Course Syllabus EE361: Digital Computer Organization Course Syllabus Dr. Mohammad H. Awedh Spring 2014 Course Objectives Simply, a computer is a set of components (Processor, Memory and Storage, Input/Output Devices)

More information

UNIVERSITY OF MACAU DEPARTMENT OF COMPUTER AND INFORMATION SCIENCE SFTW 463 Data Visualization Syllabus 1 st Semester 2011/2012 Part A Course Outline

UNIVERSITY OF MACAU DEPARTMENT OF COMPUTER AND INFORMATION SCIENCE SFTW 463 Data Visualization Syllabus 1 st Semester 2011/2012 Part A Course Outline Elective required course in Computer Science UNIVERSITY OF MACAU DEPARTMENT OF COMPUTER AND INFORMATION SCIENCE SFTW 463 Data Visualization Syllabus 1 st Semester 2011/2012 Part A Course Outline Catalog

More information

Progress Record. Course 21 (V) Associate of Applied Science in Computer Information Technology and Systems Management

Progress Record. Course 21 (V) Associate of Applied Science in Computer Information Technology and Systems Management Progress Record Study your lessons in the order listed below. As graded examinations are returned to you, enter your grade in the space below. Set a schedule for yourself then watch your progress. Course

More information

ASSOCIATE IN ARTS DEGREE-60 UNITS

ASSOCIATE IN ARTS DEGREE-60 UNITS + A Course of Study for a Major in Computer Science A.A. Degree & Certificate Programs The field of computer science leads to a variety of careers that all require core computer science skills. These skills

More information