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

CSc 160 Overview of Fundamentals of Computer Programming II Spring (SO1) 2004.
1 Programming & Programming Languages Overview l Machine operations and machine language. l Example of machine language. l Different types of processor.
Introduction to C++ Programming CS 117 Section 2 and KNET Sections Spring 2001 MWF 1:40-2:30.
COMP 14: Intro. to Intro. to Programming May 23, 2000 Nick Vallidis.
CSE 131 Computer Science 1 Module 1: (basics of Java)
COMPSCI 101 S Principles of Programming Lecture 1 – Introduction.
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
CS 3305 Course Overview. Introduction r Instructor: Dr Hanan Lutfiyya r Office: MC 355 r hanan at csd dot uwo ca r Office Hours: m Drop-by m Appointment.
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.
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
Programming Concept Chapter I Introduction to Java Programming.
Week 1 - Friday.  What did we talk about last time?  Our first Java program.
Ch 1. A Python Q&A Session Spring Why do people use Python? Software quality Developer productivity Program portability Support libraries Component.
Welcome to CS 115! Introduction to Programming. Class URL Write this down!
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.
Introduction to Computer Science II CSE1030Z 1. Your Instructor 2  Dr. Burton Ma  office  CSEB 1012J (near Gillian Moore's office)  hours : 2:30–4:00.
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.
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.
Programming In Python. Starter Using the internet… Find what a programming language is.
Software Engineering Algorithms, Compilers, & Lifecycle.
Computer Science I ISMAIL ABUMUHFOUZ | CS 180. CS 180 Description BRIEF SUMMARY: This course covers a study of the algorithmic approach and the object.
Introduction to Computer Science What is Computer Science? Getting Started Programming.
CSC 241: Introduction to Computer Science I
Lecture 1b- Introduction
Computer Engineering Department Islamic University of Gaza
CSC207 Fall 2016.
Topic: Programming Languages and their Evolution + Intro to Scratch
GCSE COMPUTER SCIENCE Practical Programming using Python
CSCI-235 Micro-Computer Applications
CSIS 104 –Intro. To Computer Science
Principles of Programming I (CIE 105)
Lecture 2 of Computer Science II
Introduction to Programming
Introduction CSE 1310 – Introduction to Computers and Programming
Programming COMP104: Fundamentals and Methodology Introduction.
COMS W1004 Introduction to Computer Science and Programming in Java
CS190/295 Programming in Python for Life Sciences: Lecture 1
Welcome to CS 1010! Algorithmic Problem Solving.
Welcome to CS 1010! Algorithmic Problem Solving.
CS 0007 Spring Lory Al Moakar.
Accelerated Introduction to Computer Science
CMPE 152: Compiler Design January 24 Class Meeting
LING 388: Computers and Language
Lecture 1: Introduction; Basic Python Programs
Computer Engineering Department Islamic University of Gaza
CS Problem Solving and Object Oriented Programming Spring 2019
CSCI 203: Introduction to Computer Science I
Web Application Development Using PHP
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 Mondays, 11:50-1:20, Same classroom as lecture Teaching assistant: Wenwen Zhang Attendance is mandatory CodeLab You will be using it during most of your lectures, labs, and assignments See the information sheet under 'Resources' on the course web page Course web sites D2L: turn in assignments and labs here http://condor.depaul.edu/ymendels/241/ Contains notes, code examples, links to assignments, labs Other resources

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 Course 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