CSC 241: Introduction to Computer Science I

Slides:



Advertisements
Similar presentations
INTERNET DATABASE Chapter 9. u Basics of Internet, Web, HTTP, HTML, URLs. u Advantages and disadvantages of Web as a database platform. u Approaches for.
Advertisements

Introduction to C++ Programming CS 117 Section 2 and KNET Sections Spring 2001 MWF 1:40-2:30.
Introduction to Programming with Java, for Beginners Welcome.
Programming Introduction November 9 Unit 7. What is Programming? Besides being a huge industry? Programming is the process used to write computer programs.
CSE 131 Computer Science 1 Module 1: (basics of Java)
COMPSCI 101 S Principles of Programming Lecture 1 – Introduction.
 A set of objectives or student learning outcomes for a course or a set of courses.  Specifies the set of concepts and skills that the student must.
Introduction to Python Dr. Bernard Chen Ph.D. University of Central Arkansas July 9 th 2012
Introduction COMP104: Fundamentals and Methodology.
Introduction CSE 1310 – Introduction to Computers and Programming
1 TOPIC 1 INTRODUCTION TO COMPUTER SCIENCE AND PROGRAMMING Topic 1 Introduction to Computer Science and Programming Notes adapted from Introduction to.
An intro to programming. The purpose of writing a program is to solve a problem or take advantage of an opportunity Consists of multiple steps:  Understanding.
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.
Media Computing Instructor Byung Kim Olsen 231 Office hours – MWF 9:00-10:00 AM or by appointment.
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
COMP 171: Principles of Computer Science I John Barr.
©2000, John Wiley & Sons, Inc. Horstmann/Java Essentials, 2/e Chapter 1: Introduction 1 Chapter 1 Introduction.
Chapter 1 Introduction to Computers and C++ Programming Goals: To introduce the fundamental hardware and software components of a computer system To introduce.
POS 406 Java Technology And Beginning Java Code
Week 1 - Friday.  What did we talk about last time?  Our first Java program.
Python From the book “Think Python”
Ch 1. A Python Q&A Session Spring Why do people use Python? Software quality Developer productivity Program portability Support libraries Component.
Input & Output In Java. Input & Output It is very complicated for a computer to show how information is processed. Although a computer is very good at.
Fundamental Programming: Fundamental Programming K.Chinnasarn, Ph.D.
Class 1: What this course is about. Assignment Read: Chapter 1 Read: Chapter 1 Do: Chapter 1 ‘workbook’ pages not finished in class Do: Chapter 1 ‘workbook’
Object-Oriented Program Development Using Java: A Class-Centered Approach, Enhanced Edition.
Lecture.1: Getting Started With Java Jiang (Jen) ZHENG May 9 th, 2005.
Introduction to Computer Programming CS 126 Lecture 2 Zeke Maier.
CIT 383: Administrative ScriptingSlide #1 CIT 383: Administrative Scripting Introduction.
Pre-Sessional Java Programming Lecture 1a Reyer Zwiggelaar
 Instructor: Dr. Jason Nichols –  Office Hours: – 9:30-10:30 M/W/F or by appointment – Business Building.
CS 127 Introduction to Computer Science. What is a computer?  “A machine that stores and manipulates information under the control of a changeable program”
Software Development Problem Analysis and Specification Design Implementation (Coding) Testing, Execution and Debugging Maintenance.
1 TOPIC 1 INTRODUCTION TO COMPUTER SCIENCE AND PROGRAMMING Topic 1 Introduction to Computer Science and Programming Notes adapted from Introduction to.
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
Dr. Sajib Datta CSE Spring 2016 INTERMEDIATE PROGRAMMING.
Computer Science A 1. Course plan Introduction to programming Basic concepts of typical programming languages. Tools: compiler, editor, integrated editor,
CS 100Lecture 11 Introduction to Programming n What is an algorithm? n Input and output n Sequential execution n Conditional execution Reading: Chapter.
ITP 109 Week 2 Trina Gregory Introduction to Java.
Lecture #1: Introduction to Algorithms and Problem Solving Dr. Hmood Al-Dossari King Saud University Department of Computer Science 6 February 2012.
Programming In Python. Starter Using the internet… Find what a programming language is.
Software Engineering Algorithms, Compilers, & Lifecycle.
Introduction to Computer Science What is Computer Science? Getting Started Programming.
Lecture 1b- Introduction
Computer Engineering Department Islamic University of Gaza
Topic: Programming Languages and their Evolution + Intro to Scratch
CSCI-235 Micro-Computer Applications
CSIS 104 –Intro. To Computer Science
Principles of Programming I (CIE 105)
Ch 1. A Python Q&A Session Bernard Chen 2007.
Lecture 2 of Computer Science II
CPSC 121: Models of Computation
Introduction to Programming
Introduction CSE 1310 – Introduction to Computers and Programming
CSE1320 INTERMEDIATE PROGRAMMING
CSE1320 INTERMEDIATE PROGRAMMING
Programming COMP104: Fundamentals and Methodology Introduction.
CSE1320 INTERMEDIATE PROGRAMMING
COMS W1004 Introduction to Computer Science and Programming in Java
CSE1320 INTERMEDIATE PROGRAMMING
CS190/295 Programming in Python for Life Sciences: Lecture 1
Foundations of Computer Science
CSE1320 INTERMEDIATE PROGRAMMING
CSE1320 INTERMEDIATE PROGRAMMING
LING 388: Computers and Language
CS Problem Solving and Object Oriented Programming Spring 2019
CSCI 203: Introduction to Computer Science I
Web Application Development Using PHP
CSC 241: Introduction to Computer Science I
Presentation transcript:

CSC 241: Introduction to Computer Science I Class session 1: An introduction to computer science and Python

An overview of today Course overview and logistics An overview of computer science A brief introduction to Python

Course overview and logistics Instructor: Joseph (Yosef) Mendelsohn Discussion of the syllabus Course web site: http://d2l.depaul.edu Course calendar Textbook Grading policy

Course overview and logistics Other course issues Office hours Lab sessions Teaching assistant: Brenda Maya Attendance is mandatory No lab on Monday, Jan 3rd CodeLab You will be using it today and next Monday See the information sheet under 'Resources' on the course web page Don't confuse the course web page with D2L

An overview of today Course overview and logistics An overview of computer science A brief introduction to Python

Who is in this class? This class is for developers. What majors are included? Computer science Computer game development Gameplay programmers Systems programmers Information assurance and security engineering Math & CS

What are the commonalities? Each major requires understanding the basics of computer science Software Hardware Problem solving in technical context What is computer science? The development and improvement of applications for computer systems To do this, we need to know how to: Solve problems Program computers Understand how to use computer systems

What is computer science? Solving problems (in a broad sense) and developing techniques and technologies for solving problems Problem solutions are represented by step-by-step instructions on how to solve the problem Computer systems can be used to automate the execution of the instructions and accelerate the problem solving Programming is fundamental to computer science

Specific problems Develop realistic computer games Search for patterns in a text document or image Efficiently send audio/video streams through the Internet Search for a document on the web Solve a scientific problem (in biology, chemistry, physics, mathematics, etc.) Encrypt/decrypt credit card information Break encrypted information Aggregate information from company financial statements to create a market analysis Develop personalized radio stations Create a spam list

Focus problem: create a spam list Suppose we want to create a CDM spam list and sell it A CDM spam list is a list of e-mail addresses of faculty/staff/students at DePaul CDM How do you solve this problem? Where can be find e-mail addresses of CDM staff and faculty? How do we go about collecting them and storing them in a file? Doing this by hand is very tedious We want to automate the process How do we describe the step-by-step instructions on how to collect the e-mail addresses?

Algorithms We describe the step-by-step instructions needed to solve a problem as an algorithm An algorithm is an ordered sequence of unambiguous instructions that when executed on a specific input produces the desired output Of course the algorithm needs to be correct, and the more theoretical areas of computer science concern themselves with how to do this To specify an algorithm you need to make the problem statement as precise as possible A first step: Clearly specify the input and output

Spam list algorithm Input: DePaul CDM web site URL Output: A list of e-mail addresses appearing on web pages belonging to the DePaul CDM web site The algorithm (assuming email_list is initially empty): Spam_List_Algorithm(URL) Download URL file from the web Search the URL file for e-mail addresses and add them to the e-mail list Search the URL file for URL hyperlinks and call the Spam_List_Algorithm on each

From algorithms to programs A person could execute the spam list algorithm Algorithms are best automated Computing and algorithms have existed for thousands of years but the creation of computers has accelerated growth in the field To automate an algorithm we need to write a program A program is an algorithm written in a form that the computer can understand An algorithm versus a program: Both are precise step-by-step descriptions for solving a problem An algorithm is written for humans and is computer system independent A program uses a language humans can understand but can be executed on a computer system, so that it is dependent on the system, including the hardware, OS, programming language, etc.

Programming languages Some programming languages Some taught at CDM: Python, Java, C++, C#, Javascript, Ruby Two sample “hello world” programs: Java: public class HelloWorld { public static void main(String[] args) { System.out.println("Hello world"); } Python: print ("Hello world")

Programming languages There is no single programming language that is best for all tasks If there were, the others wouldn’t continue to exist! Each language has its strengths and weaknesses The advantage of Python It has simple syntax It is easier to learn than other languages It allows very fast development For example, Google encourages its software developers to build prototypes for new applications in Python An application programming interface (API) is a source code interface that a computer application, operating system, or library provides to support requests for services to be made of it by a computer program

An overview of today Course overview and logistics An overview of computer science A brief introduction to Python

The focus of our class We will learn the following things in this class: The Python programming language The Python API How to use Python to solve basic computer science problems (and with it) An overview of the problems that interest computer scientists Next we need to understand how to get started writing Python programs

Basic system setup Download the Python software from: https://www.python.org/downloads/ (Use version 3.5.2 or greater) Create a csc241 directory to store your programs (and subdirectories as needed) Open a command-line window Ask if you don’t know how to find it on your system Open IDLE, i.e. the Python Integrated DeveLopment Environment