CS 102 Computers In Context (Multimedia) 01 / 21 / 2009 Instructor: Michael Eckmann.

Slides:



Advertisements
Similar presentations
CS 206 Introduction to Computer Science II 09 / 05 / 2008 Instructor: Michael Eckmann.
Advertisements

CS 206 Introduction to Computer Science II 01 / 20 / 2009 Instructor: Michael Eckmann.
CSE 5522: Survey of Artificial Intelligence II: Advanced Techniques Instructor: Alan Ritter TA: Fan Yang.
Introduction to Computer Programming I CSE 113
CS 206 Introduction to Computer Science II 09 / 09 / 2009 Instructor: Michael Eckmann.
CS 102 Computers In Context (Multimedia)‏ 04 / 20 / 2009 Instructor: Michael Eckmann.
CS 330 Programming Languages 10 / 16 / 2008 Instructor: Michael Eckmann.
CS 206 Introduction to Computer Science II 09 / 10 / 2008 Instructor: Michael Eckmann.
June 13, Introduction to CS II Data Structures Hongwei Xi Comp. Sci. Dept. Boston University.
CS 330 Programming Languages 09 / 07 / 2006 Instructor: Michael Eckmann.
CS 206 Introduction to Computer Science II 09 / 03 / 2008 Instructor: Michael Eckmann.
CS 330 Programming Languages 09 / 06 / 2007 Instructor: Michael Eckmann.
CS 206 Introduction to Computer Science II 04 / 29 / 2009 Instructor: Michael Eckmann.
CS /29/2004 (Recitation Objectives) and Computer Science and Objects and Algorithms.
Class 1: What this course is about. Assignments Reading: Chapter 1, pp 1-33 Do in Class 1: –Exercises on pages 13, 14, 22, 28 To hand in in Class 2: –Exercises.
COMP 110 Introduction to Programming Jingdan Zhang June 20, 2007 MTWRF 9:45-11:15 am Sitterson Hall 014.
July 16, Introduction to CS II Data Structures Hongwei Xi Comp. Sci. Dept. Boston University.
1 Are you ready?. 2 Professor: Vladimir Misic Office : Phone: Office Hours : Mon, Tue; 2:00pm – 4:00pm Website :
Computer Science 102 Data Structures and Algorithms V Fall 2009 Lecture 1: administrative details Professor: Evan Korth New York University 1.
CS190/295 Programming in Python for Life Sciences: Lecture 1 Instructor: Xiaohui Xie University of California, Irvine.
UNIT 21 Software Engineering.
Computer Science 101 Introduction to Programming.
WEEK 1 CS 361: ADVANCED DATA STRUCTURES AND ALGORITHMS Dong Si Dept. of Computer Science 1.
Overview of the Course. Critical Facts Welcome to CISC 672 — Advanced Compiler Construction Instructor: Dr. John Cavazos Office.
Introduction CSE 1310 – Introduction to Computers and Programming
CS 376 Introduction to Computer Graphics 01 / 22 / 2007 Instructor: Michael Eckmann.
1 UNIT 20 Software Engineering Lecturer: Ghadah Aldehim.
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
CS 106 Introduction to Computer Science I 01 / 25 / 2010 Instructor: Michael Eckmann.
CS 330 Programming Languages 09 / 04 / 2008 Instructor: Michael Eckmann.
CS 102 Computers In Context (Multimedia)‏ 01 / 23 / 2009 Instructor: Michael Eckmann.
Media Computing Instructor Byung Kim Olsen 231 Office hours – MWF 9:00-10:00 AM or by appointment.
CSC-115 Introduction to Computer Programming
20-753: Fundamentals of Web Programming 1 Lecture 1: Introduction Fundamentals of Web Programming Lecture 1: Introduction.
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
CSCI 51 Introduction to Computer Science Dr. Joshua Stough January 20, 2009.
Introduction to Databases Computer Science 557 September 2007 Instructor: Joe Bockhorst University of Wisconsin - Milwaukee.
Welcome to CS 115! Introduction to Programming. Class URL Write this down!
CS 102 Computers In Context (Multimedia)‏ 01 / 26 / 2009 Instructor: Michael Eckmann.
Introduction to computers and programming Instructor: Alex Iskold.
240-Current Research Easily Extensible Systems, Octave, Input Formats, SOA.
C++ and Ubuntu Linux Review and Practice CS 244 Brent M. Dingle, Ph.D. Game Design and Development Program Department of Mathematics, Statistics, and.
June 19, Liang-Jun Zhang MTWRF 9:45-11:15 am Sitterson Hall 011 Comp 110 Introduction to Programming.
INTRODUCTION TO PROGRAMMING ISMAIL ABUMUHFOUZ | CS 146.
CSE8A: Introduction to Programming in Java Fall 2012 Prof. Christine Alvarado cse8afall.weebly.com.
CS 127 Introduction to Computer Science. What is a computer?  “A machine that stores and manipulates information under the control of a changeable program”
Intro to CIT 594
A Puzzle for You. Puzzle Someone is working for you for 7 days You have a gold bar, which is segmented into 7 pieces, but they are all CONNECTED You have.
CS 206 Introduction to Computer Science II 01 / 30 / 2009 Instructor: Michael Eckmann.
CS 106 Introduction to Computer Science I 01 / 22 / 2007 Instructor: Michael Eckmann.
Course Instructor: Hira Farman Course : BY:HIRA FARMAN.
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
1 CS 381 Introduction to Discrete Structures Lecture #1 Syllabus Week 1.
Data Structures and Algorithms in Java AlaaEddin 2012.
CS 102 Computers In Context (Multimedia)‏ 04 / 27 / 2009 Instructor: Michael Eckmann.
CS 106 Introduction to Computer Science I 01 / 22 / 2008 Instructor: Michael Eckmann.
CS 106 Introduction to Computer Science I 01 / 24 / 2007 Instructor: Michael Eckmann.
1 Computer Science 1021 Programming in Java Geoff Draper University of Utah.
INTERMEDIATE PROGRAMMING WITH JAVA
Introduction to Programming
Programming Language Design Concepts
Introduction CSE 1310 – Introduction to Computers and Programming
CS190/295 Programming in Python for Life Sciences: Lecture 1
Welcome to CS 1010! Algorithmic Problem Solving.
Welcome to CS 1010! Algorithmic Problem Solving.
Accelerated Introduction to Computer Science
Chapter 1 Introduction to Programming
CS Problem Solving and Object Oriented Programming Spring 2019
CSC 241: Introduction to Computer Science I
Presentation transcript:

CS 102 Computers In Context (Multimedia) 01 / 21 / 2009 Instructor: Michael Eckmann

Michael Eckmann - Skidmore College - CS Spring 2009 Todays Topics Introduction of myself Review the syllabus and the list of Topics we'll cover Chapter 1 material –What is computer science

Michael Eckmann - Skidmore College - CS Spring 2009 Who is your instructor? I'm Mike Eckmann and this is my fifth year at Skidmore. Before that I was at Lehigh University in PA. I studied Mathematics and Computer Engineering and Computer Science all at Lehigh University. I was employed as a programmer (systems analyst) for eight years.

Michael Eckmann - Skidmore College - CS Spring 2009 Syllabus Office hours Text book Class room Assignments Collaboration policy Grading schema Attendance Readings The most up-to-date syllabus will be found on the course web page.

Michael Eckmann - Skidmore College - CS Spring 2009 Suggestions on how to succeed in this (or any? CS) course Keep up on the reading before the class period that we cover it. Participate in class -- ask questions in class (best), via or in my office. Start assignments as soon as they are assigned. If you run into snags (and you will), you'll want to have time to be able to come talk to me. These are based on my observations of successful students in past classes.

Michael Eckmann - Skidmore College - CS Spring 2009 Homework Homework for Friday: –Read the syllabus and the links in the Academic Integrity section of the syllabus. Please ask for any clarifications of the policies either via or in class. –Read chapter 1 It's only 11 pages –Please jot down thoughts/comments/questions as you're reading. –Next class I'll start by soliciting comments/questions on the reading. –Also, pay particular attention to section 1.2 (that's part of what I'll lecture on next time.)

Michael Eckmann - Skidmore College - CS Spring 2009 What is Computer Science? Computer science, according to our textbook, is the study of recipes. We all know what a cooking recipe is. It is a set of ordered instructions on how to prepare a dish. In computer science, a recipe is an algorithm (a set of ordered instruction to solve a problem) or a program (a larger set of instructions possibly containing many algorithms.)

Michael Eckmann - Skidmore College - CS Spring 2009 What is computer science? Theorists –Interested in best / better recipes to do a job –Best/ better may be measured in speed (aka efficiency) and/or how much space is required to store the data. Software engineers –managing large projects in putting many (hundreds? thousands?) recipes together, written by different programmers on a team Computer Scientists who study Data structures –Ways to organize data and ways to process that organized data efficiently Do we know any other specializations/subareas of computer science?

Michael Eckmann - Skidmore College - CS Spring 2009 What is computer science? Computer Scientists who study Databases Computer Scientists who study Artificial Intelligence Computer Scientists who work in Systems (Operating Systems) Computer Scientists who work in Networking Human computer interaction Computer Scientists who work in algorithms and experiments for computer graphics Computer Scientists who work in algorithms and experiments for computer music Computer Scientists who work in algorithms and experiments for computer vision... and many more subfields

Michael Eckmann - Skidmore College - CS Spring 2009 Recipes A few observations about cooking recipes –Should be followed closely by the chef Can't use ½ cup of salt instead of a ½ cup of sugar –Steps have an order to them For example, when making breaded chicken cutlets, you need to coat the chicken with the breading mixture before frying –Some steps aren't required to be ordered For example, if a recipe says to mix a tsp of salt, a tsp of garlic powder and a tbsp of pepper it doesn't matter whether you put the salt in before the pepper and mix them up.

Michael Eckmann - Skidmore College - CS Spring 2009 Recipes A few observations about cooking recipes –It's sometimes possible to get the same exact results by following different recipes Not as true in cooking recipes as in algorithms, so the recipe analogy doesn't work perfectly here Sorting example

Michael Eckmann - Skidmore College - CS Spring 2009 Recipes Computer scientists use programming languages or pseudocode (neutral) to specify recipes (aka algorithms/programs). You may have heard of various programming languages: Java, C++, C, C#, Python, Perl, Lisp, Scheme, Prolog, Fortran, Basic,... Some languages are better suited for certain tasks than others (e.g. C is speed efficient and has the ability to make very low level calls, therefore it is good for writing Operating Systems, Java is good for portable and safe/reliable code, therefore it is good for programs that might be run on multiple platforms.)

Michael Eckmann - Skidmore College - CS Spring 2009 Languages Natural languages (like English) are not used to specify algorithms and programs because they are not precise enough. For example, a program written in a programming language needs to be able to mean the same thing, given the same code (sentence). In English the sentence: Time flies like an arrow. is ambiguous because it has multiple meanings (semantics) for the same syntax.

Michael Eckmann - Skidmore College - CS Spring 2009 Languages Our text uses the Python programming language for several reasons –It's popular –It's relatively easy to learn –It's relatively easy to read –It's flexible –However, it's inefficient compared to solving the same problem in say C++.

Michael Eckmann - Skidmore College - CS Spring 2009 Languages Python itself is a program (a program that interprets Python programs.) Python is typically implemented in C. Jython is a python implementation in Java. –It provides a programmer to write python code and to use Java's classes Program source code (the code we write) is stored in plain text files. We could write python programs with a text editor, save them and run them with the python interpreter, however our text uses JES (Java Environment for Students) which allows entering code, debugging it and executing it.

Michael Eckmann - Skidmore College - CS Spring 2009 Digital vs. Analog Anyone know the difference?

Michael Eckmann - Skidmore College - CS Spring 2009 Digital vs. Analog Discrete values vs. Continuous Clocks Life vs. movies Film cameras vs. digital cameras