Introduction to Computational Thinking Vicky Chen.

Slides:



Advertisements
Similar presentations
ALGORITHMS AND FLOWCHARTS
Advertisements

1 Week 2 Questions / Concerns Schedule this week: Homework1 & Lab1a due at midnight on Friday. Sherry will be in Klamath Falls on Friday Lexical Analyzer.
PROBLEM SOLVING TECHNIQUES
Prof. B. I. Khodanpur HOD – Dept. of CSE R. V. College of Engineering
Program Design and Development
Algorithm Design CS105. Problem Solving Algorithm: set of unambiguous instructions to solve a problem – Breaking down a problem into a set of sub- problems.
CSCI/CMPE 4341 Topic: Programming in Python Chapter 3: Control Structures (Part 1) – Exercises 1 Xiang Lian The University of Texas – Pan American Edinburg,
Programming Logic and Design, Introductory, Fourth Edition1 Understanding Computer Components and Operations (continued) A program must be free of syntax.
Chapter 2: Algorithm Discovery and Design
Algorithm & Flowchart.
ALGORITHMS AND FLOWCHARTS
Programming Logic Program Design. Objectives Steps in program development Algorithms and Pseudocode Data Activity: Alice program.
Abstraction IS 101Y/CMSC 101 Computational Thinking and Design Tuesday, September 17, 2013 Carolyn Seaman University of Maryland, Baltimore County.
1. Reference  2  Algorithm :- Outline the essence of a computational procedure, step by step instructions.  Program :- an.
INTRODUCTION TO ALGORITHMS PROGRAMMING. Objectives Give a definition of the term algorithm Describe the various parts of the pseudocode algorithm or algorithm.
TMF1013 : Introduction To Computing Lecture 1 : Fundamental of Computer ComputerFoudamentals.
Abstraction IS 101Y/CMSC 101 Computational Thinking and Design Tuesday, September 17, 2013 Marie desJardins University of Maryland, Baltimore County.
1 Models of Computation o Turing Machines o Finite store + Tape o transition function: o If in state S1 and current cell is a 0 (1) then write 1 (0) and.
Overview of Programming and Problem Solving Textbook Chapter 1 1.
Problem Solving Techniques. Compiler n Is a computer program whose purpose is to take a description of a desired program coded in a programming language.
C++ Programming Language Lecture 2 Problem Analysis and Solution Representation By Ghada Al-Mashaqbeh The Hashemite University Computer Engineering Department.
PHP Logic. Review: Variables Variables: a symbol or name that stands for a value – Data types ( Similar to C++ or Java): Int, Float, Boolean, String,
Property of Jack Wilson, Cerritos College1 CIS Computer Programming Logic Programming Concepts Overview prepared by Jack Wilson Cerritos College.
Data Structures and Algorithms Introduction to Algorithms M. B. Fayek CUFE 2006.
Control Structures (A) Topics to cover here: Introduction to Control Structures in the algorithmic language Sequencing.
Chapter 2: General Problem Solving Concepts
Definition of Terms Software/Programs Programs that directs the operation of a computer system Set of instructions Codes Programming Process of planning,
Xin Liu Feb 4, * Use midterm questions for previous 231/217 midterms for practices * ams
Software Development Problem Analysis and Specification Design Implementation (Coding) Testing, Execution and Debugging Maintenance.
Programming in C++ Dale/Weems/Headington Chapter 1 Overview of Programming and Problem Solving.
2016 N5 Prelim Revision. HTML Absolute/Relative addressing in HTML.
How Are Computers Programmed? CPS120: Introduction to Computer Science Lecture 5.
The Hashemite University Computer Engineering Department
EGR 115 Introduction to Computing for Engineers Branching & Program Design – Part 3 Friday 03 Oct 2014 EGR 115 Introduction to Computing for Engineers.
Problem-solving with Computers. 2Outline  Computer System  5 Steps for producing a computer program  Structured program and programming  3 types of.
Flowcharts C++ Lab. Algorithm An informal definition of an algorithm is: a step-by-step method for solving a problem or doing a task. Input data A step-by-step.
Software. Introduction n A computer can’t do anything without a program of instructions. n A program is a set of instructions a computer carries out.
PROGRAMMING FUNDAMENTALS INTRODUCTION TO PROGRAMMING. Computer Programming Concepts. Flowchart. Structured Programming Design. Implementation Documentation.
1 Structured Programming Arab Academy for Science and Technology CC112 Dr. Sherif Mohamed Tawfik The Course.
CHAPTER 3 COMPLETING THE PROBLEM- SOLVING PROCESS AND GETTING STARTED WITH C++ An Introduction to Programming with C++ Fifth Edition.
 Problem Analysis  Coding  Debugging  Testing.
Algorithms and Pseudocode CS Principles Lesson Developed for CS4 Alabama Project Jim Morse.
IST 210: PHP Logic IST 210: Organization of Data IST2101.
7 - Programming 7J, K, L, M, N, O – Handling Data.
ICS 3UI - Introduction to Computer Science
Unit 3: ALGORITHMS AND FLOWCHARTS
Data Structures and Algorithms
FLOWCHARTS.
COVERED BASICS ABOUT ALGORITHMS AND FLOWCHARTS
Unit 2 Smarter Programming.
Lecture 2 Introduction to Programming
Algorithm Algorithm is a step-by-step procedure or formula or set of instruction for solving a problem Its written in English language or natural language.
Computational Thinking
An Introduction to Visual Basic .NET and Program Design
CMIS 102 Competitive Success-- snaptutorial.com
CMIS 102 Education for Service-- snaptutorial.com
CMIS 102 Teaching Effectively-- snaptutorial.com
Learning to Program in Python
ALGORITHMS AND FLOWCHARTS
Introduction to Python
Programming Funamental slides
ALGORITHMS AND FLOWCHARTS
Coding Concepts (Basics)
Algorithms & Pseudocode & Flowcharts
CSC128 FUNDAMENTALS OF COMPUTER PROBLEM SOLVING
Lecture 7 Algorithm Design & Implementation. All problems can be solved by employing any one of the following building blocks or their combinations 1.
Programming Concepts and Database
COP3530- Data Structures Introduction
Algorithms & Pseudocode & Flowcharts
Presentation transcript:

Introduction to Computational Thinking Vicky Chen

Fundamental Theorem of Informatics Friedman C P J Am Med Inform Assoc 2009;16:

What Informatics Is Not Friedman C P J Am Med Inform Assoc 2009;16:

Computational Thinking Computational thinking is a way of solving problems, designing systems, and understanding human behavior that draws on concepts fundamental to computer science. To flourish in today's world, computational thinking has to be a fundamental part of the way people think and understand the world.

Computational Thinking Analyzing and logically organizing data Data modeling, data abstractions, and simulations Formulating problems so computers may assist Identifying, testing, and implementing possible solutions Automating solutions via algorithmic thinking Generalizing and applying this process to other problems

Algorithm A finite list of instructions that describe all required steps to perform a computation, written in general language

Programming Steps Specification – What the code should do Design – Pseudocode Implement – Programming Test – Debugging

Data Type / Data Structure Integer Floating point Boolean Character String List Dictionary Hash Table

Data Types

List

Dictionary / Hash Table

Exercise 1 We have a matrix with mutation information for different tumor samples. How can this data be represented?

List of Lists Data is a sparse matrix Stores a lot of extra uninformative information

Dictionary

Opening Files Mutation matrix contains data on 2337 genes and 779 samples Inputting data by hand is not feasible Data usually read in and processed from files

Opening Files

Input and print

For Loops

While Loops

Conditional Statements

If, else if, else and or not

Exercise 2 We have a dictionary that contains tumor sample mutation information. We want to print out a list of tumor samples after receiving a mutated gene of interest from the user.

Opening Files Revisited

Data Extraction from Files Many files will contain extra information Focus on extracting only pertinent data Applicable to many types of data – Natural language documents (e.g. articles) – Sequence data (e.g. FASTA files) – Files from databases (e.g. NCBI Gene, TCGA) – Etc.

Regular Expressions

Reusing Code Some code can be useful in multiple situations It is possible to just rewrite (or copy) the code each time – Less efficient – Multiple locations to fix when debugging

Functions

Exercise 3 We have a document containing human gene information downloaded from NCBI. We want to extract and store the Ensembl ID of each gene with its corresponding gene symbol.