Introduction to Computing using C++ Biomedical applications WELCOME TO CIS 1.5. Introduction to the course. Course structure

Similar documents
(0) introduction to the course. how to learn a programming language. (0) course structure

last time in cs recitations. computer commands. today s topics.

Welcome (back) to CS1007!

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

Advanced Programming Concepts. CIS 15 : Spring 2007

Fundamentals of Programming. Lecture 1: Introduction to C Programming

C++ Programming Language Lecture 1 Introduction

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

INFS 214: Introduction to Computing

WELCOME TO CS 16! Enrollment status: 117/ Problem Solving with Computers-I

SORTING AND SEARCHING

Introduction to Scientific Computing with C++ Introduction Textbook Assignments Lab Accounts and Software HELLO ADD INTS MANDEL Conclusion

Topic 1: Programming concepts

COMP322 - Introduction to C++ Lecture 01 - Introduction

assembler Machine Code Object Files linker Executable File

MA400: Financial Mathematics

EP241 Computer Programming

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

0 Introduction: Computer systems and program development

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

Welcome to MCS 360. content expectations. using g++ input and output streams the namespace std. Euclid s algorithm the while and do-while statements

Fundamentals of Structured Programming

Fundamentals of Programming Session 2

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

1a Computers, Problem Solving!

1001ICT Introduction To Programming Lecture Notes

Introduction to C Programming 計算機程式設計

Chapter 1 Introduction to Computers and C++ Programming

Computer Principles and Components 1

Welcome to Computer Organization and Design Logic

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

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

Course Syllabus. Programming Language Paradigms. Spring - DIS Copenhagen. Semester & Location: Elective Course - 3 credits.

Introduction to Computers, the Internet and the Web Pearson Education, Inc. All rights reserved.

Introduction to C++ Programming. Adhi Harmoko S, M.Komp

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

Week 0: Intro to Computers and Programming. 1.1 Why Program? 1.2 Computer Systems: Hardware and Software. Hardware Components

Computer Science II Lecture 1 Introduction and Background

378: Machine Organization and Assembly Language

IS 0020 Program Design and Software Tools

by Pearson Education, Inc. All Rights Reserved.

Administration Computers Software Algorithms Programming Languages

[301] Introduction. Tyler Caraza-Harter

CS 241 Data Organization. August 21, 2018

CS 102 Lecture 1. Syllabus, history, intro

Lecture 1 - Introduction (Class Notes)

cis20.1 design and implementation of software applications I fall 2007 lecture # I.2 topics: introduction to java, part 1

Welcome to Solving Problems with Computers I

Lecture 1: Overview

Exam 1. CSI 201: Computer Science 1 Fall 2018 Professors: Shaun Ramsey

AP Computer Science Summer Work Mrs. Kaelin

C Programming for Engineers Introduction

Unit: Rational Number Lesson 3.1: What is a Rational Number? Objectives: Students will compare and order rational numbers.

Introduction to Nate Foster Spring 2018

Why do some students find programming in C, so difficult? It involves thinking. We have been programmed by our respective school boards not to think.

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

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

Instructors. ECE 152 Introduction to Computer Architecture. Undergrad Teaching Assistants. Course Website. Textbook.

Review: Exam 1. Your First C++ Program. Declaration Statements. Tells the compiler. Examples of declaration statements

Introduction to Computer Systems

Chapter 1 Introduction

Lecture 01 & 02 Computer Programming

How to approach a computational problem

Chapter 1 Introduction

2. COURSE DESIGNATION: 3. COURSE DESCRIPTIONS:

BITG 1113: Introduction To Computers And Programming Language LECTURE 1 LECTURE 1 1

Chapter 1 Introduction to Computers and Programming

Principles of computer programming. Profesor : doc. dr Marko Tanasković Assistent : doc. dr Marko Tanasković

CSE 332: Data Abstractions. Ruth Anderson Spring 2014 Lecture 1

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

University of Cincinnati Department of Electrical and Computer Engineering EECE180 Software Methods I

Your First C++ Program. September 1, 2010

GE U111 Engineering Problem Solving & Computation Lecture 6 February 2, 2004

INF 315E Introduction to Databases School of Information Fall 2015

Introduction to Computation and Problem Solving

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

WELCOME TO CS 16! Problem Solving with Computers-I

Introduction to Prof. Clarkson Fall Today s music: Prelude from Final Fantasy VII by Nobuo Uematsu (remastered by Sean Schafianski)

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

CSC 015: FUNDAMENTALS OF COMPUTER SCIENCE I

Chapter 1: Why Program? Computers and Programming. Why Program?

C# Programming: From Problem Analysis To Program Design (Introduction To Programming) By Barbara Doyle READ ONLINE

CSE506: Operating Systems CSE 506: Operating Systems

Introduction to Computer Systems

CS/ENGRD 2110 Object-Oriented Programming and Data Structures Spring 2012 Thorsten Joachims

Announcements. 1. Forms to return today after class:

Introduction to Prof. Clarkson Fall Today s music: Prelude from Final Fantasy VII by Nobuo Uematsu (remastered by Sean Schafianski)

An Introduc+on to Computers and Java CSC 121 Spring 2017 Howard Rosenthal

Introduction to Prof. Clarkson Fall Today s music: Prelude from Final Fantasy VII by Nobuo Uematsu (remastered by Sean Schafianski)

CIS220 In Class/Lab 1: Due Sunday night at midnight. Submit all files through Canvas (25 pts)

Linux Tutorial #1. Introduction. Login to a remote Linux machine. Using vim to create and edit C++ programs

Chapter 1: Introduction to Computers and Programming

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

Introduction to Programming

You Will Need Floppy Disks for your labs!

Welcome to CS61A! Last modified: Thu Jan 23 03:58: CS61A: Lecture #1 1

University At Buffalo COURSE OUTLINE. A. Course Title: CSE 487/587 Information Structures

CS 211 Programming I for Engineers

CS1110 Lab 1 (Jan 27-28, 2015)

CS31 Discussion 1E. Jie(Jay) Wang Week1 Sept. 30

Transcription:

Introduction to Computing using C++ Biomedical applications WELCOME TO CIS 1.5 Topics: Introduction to the course What is a computer programming language? Instructor: Prof Simon Parsons parsons@sci.brooklyn.cuny.edu Course web page: http://www.sci.brooklyn.cuny.edu/ parsons/ 15-spring-2007 cis1.5-spring2007-parsons-leci.1 2 About this course Introduction to the course Introduction to computer programming using the C++ language Uses biomedical computing as a context (i.e., the basis for examples and some of the lab exercises) The following topics will be covered in 6 units: (I) Data and Output (II) Control Structures and Input (III) Functions (IV) Arrays and Strings (V) Searching and Sorting (VI) Simple Classes 6 units Each unit has: 1-3 lectures 2-3 labs 1 assessment Course structure The labs will be hands-on sessions using laptops in the classroom (4428 N) The assessments will be: Programming assignments Your grade = 6 assessments (10% each) + two midterms (20%) + one file exam (20%) cis1.5-spring2007-parsons-leci.1 3 cis1.5-spring2007-parsons-leci.1 4

How to learn a programming language. YOU are responsible for your own learning!!! I will point you in the right direction. But YOU must PRACTICE, PRACTICE, PRACTICE... and PRACTICE some more!!! If you don t understand, then ASK for help! What is a program? A computer program is a set of instructions that tells the computer what to do A computer programmer is a person who writes those instructions There are many different programming languages that one can use to write computer programs In this class, we will learn C++ C++ is called a high-level language because: it is kind of like English (no, really!) well, it is more like English than the low-level machine languagethat the computer understands A compiler will translate a program from a high-level language into low-level machine language cis1.5-spring2007-parsons-leci.1 5 cis1.5-spring2007-parsons-leci.1 6 Which compiler? There are lots of C++ compilers and programming environments In class, we ll use a free, open source integrated development environment (IDE) called Code::Blocks (we ll discuss this more in class next time) With an IDE, you can edit your computer program s source files and then compile the source files into an executable application; and finally you can run the application You can use a different IDE if you want to... (we ll talk about this more later) Some of the other CIS1.5 sections are using Dev C++ and Eclipse Getting started Programming is like solving puzzles Think differently The world is now made up of: objects actions Today s introductory topics: Computer basics Our first program cis1.5-spring2007-parsons-leci.1 7 cis1.5-spring2007-parsons-leci.1 8

Computer follows commands Computer commands commands = series of instructions You will learn how to command a computer command = program = write instructions You understand the commands, but does the computer? that s a question of cognition. Artificial Intelligence, Cognitive Science Computer components Computer = hardware + software A computer is organized into logical units: input output memory arithmetic and logic (ALU) central processing (CPU) secondary storage cis1.5-spring2007-parsons-leci.1 9 cis1.5-spring2007-parsons-leci.1 10 Set of instructions = program Types of instructions: Computer instructions machine language assembly language high-level language (e.g., C, C++, Java) Program is compiled into machine language and then executed (ran) Executing (running) program = job = process = task Lowest level numeric Machine language Computer is comprised of zillions of transistors switches or relays switches = ON or OFF relays = OPEN or CLOSED Hardware position is abstracted into software as 1 s and 0 s 1 s and 0 s base 2, or binary cis1.5-spring2007-parsons-leci.1 11 cis1.5-spring2007-parsons-leci.1 12

Assembly language Medium level, but still pretty low; i.e., hard to read and understand English words and abbreviations Examples: LOAD ADD SHIFT STORE High-level languages Examples: C, BASIC, FORTRAN, Pascal, C++, Java, LISP, Scheme Even more like English High-level languages are 1. compiled into machine language or object code 2. linked into executable code 3. executed or ran as programs cis1.5-spring2007-parsons-leci.1 13 cis1.5-spring2007-parsons-leci.1 14 Machine language: +1300042774 +1400593419 +1200274027 Assembly language: LOAD BASEPAY ADD OVERPAY STORE GROSSPAY Language examples High-level language: grosspay = basepay + overtimepay; C++ C++ is an object-oriented language: it is structured around objects and methods, where a method is an action or something you do with the object C++ programs are divided into entities called classes Some C++ classes are native but you can also write classes yourself C++ programs run as applications cis1.5-spring2007-parsons-leci.1 15 cis1.5-spring2007-parsons-leci.1 16

The application source code file name = hello.cpp Our first C++ program hello world Typical first program in any language Output only (no input) /*---------------------------------------------------------- hello.cpp, 30jan07/parsons This class demonstrates output from a C++ application. ----------------------------------------------------------*/ #include <iostream> using namespace std; int main() { cout << "this is my c++ world\n"; cout << "hello from inside of it!\n"; } cis1.5-spring2007-parsons-leci.1 17 cis1.5-spring2007-parsons-leci.1 18 Get a copy of the textbook! Start to read chapter 1 To do Check out the class web page: http://www.sci.brooklyn.cuny.edu/ parsons/ 15-spring-2007 About me Undergrad: University of Cambridge, Engineering, class of 1988 Grad school: University of London, PhD 1993 Previous teaching: Queen Mary & Westfield College, London, UK. University of Liverpool, UK. Universidad Politechnica de Catalunya, Barcelona, Spain. Universidad Nacional del Sur, Bahia Blanca, Argentina. Columbia University. research interests: Robotics; Software agents and multi-agent systems; and Rational action. cis1.5-spring2007-parsons-leci.1 19 cis1.5-spring2007-parsons-leci.1 20

About you. Please take out a piece of paper and write down... 1. Your name 2. Your class and major OR if you are a non-matriculating student, categorize yourself 3. Your background in computers, if any 4. Why you are taking this course 5. What you hope to get out of this course 6. One sentence about one wonderful thing you did over the break...and give it to me. Computer processing of medical data. Support patient care. Telesurgery. Develop new therapies. Computer processing of biological data Sequence analysis Systems biology Biology-inspired computation. New forms of computation cis1.5-spring2007-parsons-leci.1 21 cis1.5-spring2007-parsons-leci.1 22 Support patient care. Electronic medical records (EMR). Telesurgery. cis1.5-spring2007-parsons-leci.1 23 cis1.5-spring2007-parsons-leci.1 24

Surgical robots. Develop new therapies. Process EEG data. cis1.5-spring2007-parsons-leci.1 25 cis1.5-spring2007-parsons-leci.1 26 Genome sequence analysis Systems biology, simulation. cis1.5-spring2007-parsons-leci.1 27 cis1.5-spring2007-parsons-leci.1 28

Biology-inspired computation. Ant colony optimization. Genetic art. Kandid. cis1.5-spring2007-parsons-leci.1 29 cis1.5-spring2007-parsons-leci.1 30 Summary This lecture has introduced the course. It has also talked about: Basics of computer programming languages. Described some of the context in which this course will be placed, that of biomedical computing. We will come back to the biomedical computing aspects later. cis1.5-spring2007-parsons-leci.1 31