Presentation is loading. Please wait.

Presentation is loading. Please wait.

CSC 241: Introduction to Computer Science I

Similar presentations


Presentation on theme: "CSC 241: Introduction to Computer Science I"— Presentation transcript:

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

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

3 Course overview and logistics
Instructor: Joseph (Yosef) Mendelsohn Discussion of the syllabus Course web site: Course calendar Textbook Grading policy

4 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 Contains notes, code examples, links to assignments, labs Other resources

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

6 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

7 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

8 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

9 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

10 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 addresses of faculty/staff/students at DePaul CDM How do you solve this problem? Where can be find 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 addresses?

11 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

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

13 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.

14 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")

15 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

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

17 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

18 Basic system setup Download the Python software from: (Use version 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


Download ppt "CSC 241: Introduction to Computer Science I"

Similar presentations


Ads by Google