Introduction to Computer Science I

Similar documents
Welcome to Introduction to Computer Science I

CSC 326H1F, Fall Programming Languages. What languages do you know? Instructor: Ali Juma. A survey of counted loops: FORTRAN

Languages october 22, 2017 Éric Lévénez < FORTRAN III end-1958 FORTRAN II FORTRAN I october 1956

Principles in Programming: Orientation & Lecture 1. SWE2004: Principles in Programming Spring 2015 Euiseong Seo

Concepts in Programming Languages

Principles in Programming: Orientation & Lecture 1. SWE2004: Principles in Programming Spring 2014 Euiseong Seo

CSc 520. Course Outline (Subject to change) Course Outline (Subject to change)... Principles of Programming Languages. Christian Collberg

CS 3304 Comparative Languages. Lecture 1: Introduction

What Is Computer Science? The Scientific Study of Computation. Expressing or Describing

Topic I. Introduction and motivation References: Chapter 1 of Concepts in programming languages by J. C. Mitchell. CUP, 2003.

Com S 541. Programming Languages I

CSc 372 Comparative Programming Languages

Lecture 1. Introduction to course, Welcome to Engineering, What is Programming and Why is this the first thing being covered in Engineering?

Compilation 2012 The What and Why of Compilers

CS2303 C14 Systems Programming Concepts. Bob Kinicki

Introduction. A. Bellaachia Page: 1

Organization of Programming Languages (CSE452) Why are there so many programming languages? What makes a language successful?

Programming (Econometrics)

Low-Level Languages. Computer Programs and Programming Languages

Programming (ERIM) Lecture 1: Introduction to programming paradigms and typing systems. Tommi Tervonen

EECS 282 Information Systems Design and Programming. Atul Prakash Professor, Computer Science and Engineering University of Michigan

Lecture 09. Ada to Software Engineering. Mr. Mubashir Ali Lecturer (Dept. of Computer Science)

CSCI 3136 Principles of Programming Languages

EECS 282 Information Systems Design and Programming. Atul Prakash Professor, Computer Science and Engineering University of Michigan

TTh 9.25 AM AM Strain 322

Announcements Tues., Aug and 2. to call them ( ) ! For next time, read Learning Computing with Robots, chs.

COMP 201: Principles of Programming

CS558 Programming Languages

Programming Language Concepts 1982, 1987, Outline. Period

CSCI.4430/6969 Programming Languages Lecture Notes

Comparative Programming Languages

Syllabus CS 301: Data Structures Spring 2015

CSc 2310 Principles of Programming (Java) Jyoti Islam

CS 565: Programming Languages. Spring 2008 Tu, Th: 16:30-17:45 Room LWSN 1106

CSE 142. Lecture 1 Course Introduction; Basic Java. Portions Copyright 2008 by Pearson Education

Language Translation, History. CS152. Chris Pollett. Sep. 3, 2008.

INF 315E Introduction to Databases School of Information Fall 2015

8/27/17. CS-3304 Introduction. What will you learn? Semester Outline. Websites INTRODUCTION TO PROGRAMMING LANGUAGES

COSC 2P90 Programming Languages & Object-Orientation

Programming Languages 1. Introduction. Oscar Nierstrasz

What is programming? Elements of Programming Languages. From machine code to programming languages. What is a programming language?

Welcome to CS 135 (Winter 2018)

SOFTWARE ARCHITECTURE 6. LISP

CASPER COLLEGE COURSE SYLLABUS MSFT 1600 Managing Microsoft Exchange Server 2003 Semester/Year: Fall 2007


Introduction to.net, C#, and Visual Studio. Part I. Administrivia. Administrivia. Course Structure. Final Project. Part II. What is.net?

CSE 336. Introduction to Programming. for Electronic Commerce. Why You Need CSE336

Lecture 1: Course Introduction

Chapter 2. Pseudocodes: Speedcoding. 2.2 Minimal Hardware Programming: Pseudocodes. Evolution of the Major Programming Languages

CS240: Programming in C

CISC 124: Introduction To Computing Science II

PLAGIARISM. Administrivia. Course home page: Introduction to Programming Languages and Compilers

Introduction to Programming Languages and Compilers. CS164 11:00-12:00 MWF 306 Soda

Lecture 1: Course Introduction

General Concepts. Abstraction Computational Paradigms Implementation Application Domains Influence on Success Influences on Design

Discovering Computers 2008

SKILL AREA 304: Review Programming Language Concept. Computer Programming (YPG)

Outline. CIS 110: Introduction to Computer Programming. What is Computer Science? What is computer programming? What is computer science?

Welcome. Orientation to online CPS102 Computer Science 2 (Java 2)

Logic Programming II & Revision

Welcome to CS 135 (Fall 2018) Themes of the course. Lectures. cs135/

CS383 PROGRAMMING LANGUAGES. Kenny Q. Zhu Dept. of Computer Science Shanghai Jiao Tong University

Introduction to Databases Fall-Winter 2010/11. Syllabus

Today. An Animated Introduction to Programming. Prerequisites. Computer programming

CSC 111 Introduction to Computer Science (Section C)

EECE.2160: ECE Application Programming Spring 2017

CS558 Programming Languages

CS 3030 Scripting Languages Syllabus

Programming Languages, Summary CSC419; Odelia Schwartz

Spring 2003 Instructor: Dr. Shahadat Hossain. Administrative Matters Course Information Introduction to Programming Techniques

Why are there so many programming languages? Why do we have programming languages? What is a language for? What makes a language successful?

Programming Paradigms

! Broaden your language horizons! Different programming languages! Different language features and tradeoffs. ! Study how languages are implemented

CS252 Advanced Programming Language Principles. Prof. Tom Austin San José State University Fall 2013

CS 102 Lecture 1. Syllabus, history, intro

San José State University College of Science/Department of Computer Science CS 152, Programming Language Paradigms, Section 03/04, Fall, 2018

LECTURE 1. Overview and History

Syllabus COSC-051-x - Computer Science I Fall Office Hours: Daily hours will be entered on Course calendar (or by appointment)

BOSTON UNIVERSITY Metropolitan College MET CS342 Data Structures with Java Dr. V.Shtern (Fall 2011) Course Syllabus

Problem Solving With C++ Ninth Edition

INFS 2150 (Section A) Fall 2018

Programming Language Concepts, cs2104 Lecture 01 ( )

Computer Science Technology Department

CSCE 441 Computer Graphics Fall 2018

Course Announcements cs2220: Engineering Software

1/14/2014. Introduction to CSE 1325 Object Oriented Programming (Using Java) Introduction (Cont.) Introduction

You must pass the final exam to pass the course.

Cleveland State University

Welcome to CS 115 (Winter 2018)

Introduction to Databases Fall-Winter 2009/10. Syllabus

Why are there so many programming languages?

Early computers (1940s) cost millions of dollars and were programmed in machine language. less error-prone method needed

Course Syllabus - CNT 4703 Design and Implementation of Computer Communication Networks Fall 2011

KOMAR UNIVERSITY OF SCIENCE AND TECHNOLOGY (KUST)

CS 50 Introduction to Computer Science I

Concurrent Object Oriented Languages

Introduction. Primitive Data Types: Integer. Primitive Data Types. ICOM 4036 Programming Languages

Overview of the Class

Outline. Computer Science 331. Course Information. Assessment. Contact Information Assessment. Introduction to CPSC 331

Chapter 2. 5 * B => A V 6 7 (subscripts) S 1.n 1.n (data types)

Transcription:

Introduction to Computer Science I CSE 1020 www.cse.yorku.ca/course/1020

Programming Contests in September and October Everyone is welcome to participate in these contests. The students who will represent York at the regional ACM Programming contest on October 23, 2010 will be chosen from the students who attend these practice contests. The first programming contest will take place in CSEB 1004 on Friday September 17 from 15:00 until 17:00. More details about the programming contests can be found at the URL www.cse.yorku.ca/acm.

Instructor Name: Franck van Breugel Email: franck@cse.yorku.ca Please use your cse account to send me email Office: Computer Science and Engineering Building, room 3046 Office hours: Thursdays, 16:30-19:30 in the lab, or by appointment

Change of focus High-school echo concepts, definitions, and formulae University use learned concepts, definitions, formulae to solve a specified task/problem

Change of focus A high-school question might be What is a compilation error? A programming test task might be Create a program that extracts the current temperature in Toronto from the website of the Weather Network. Using the compiler, isolate any syntax errors and correct them. An exam question might be Compilation of your program generated the following error. What steps should you take to correct the error?

Evaluation Week 2 11: test (60%) Week 12: programming test (15%) Exam period: final exam (25%) The tests will be 45 minutes and will consist of one programming question and several conceptual questions (multiple choice, short answer, and long answer). The programming test will be 75 minutes and will consist of one substantial programming question. The final exam will be 120 minutes and will consist mainly of conceptual questions. In general, students find conceptual questions more difficult than programming questions.

Programming Practice, practice, practice,... echecks in the textbook programming exercises in the textbook

Labs Computer Science and Engineering Building, room 1002, 1004 and 1006 Thursdays, 16:30 18:00 and 18:00 19:30 Attend the lab for which you are registered Week 1: guided tour Week 2 11: test (45 minutes) and echeck (30 minutes) Week 12: programming test (75 minutes) Get your CSE account in CSEB 1006 before the first lab (it takes roughly 25 minutes to activate your account).

Drop deadline November 12 Until this date you can drop the course without getting a grade for it and, hence, it will not affect your gpa. www.registrar.yorku.ca/importantdates/fw10.htm contains important dates.

Academic honesty If you put your name on something, then it is your work, unless you explicitly say that it is not. www.cse.yorku.ca/admin/cosconacadhonesty.html contains more details.

How does this course fit within the program? CSE 1020: how to use classes CSE 1030: how to implement classes CSE 2011: how to represent and manipulate data The programming skills and knowledge of basic concepts that you develop in these three courses will be useful in many other courses.

However... computer science programming

Textbook Hamzeh Roumani. Java by Abstraction: A Client-View Approach. First or second or third edition. Pearson, Toronto. 2005 and 2007 and 2010. Why this textbook? As far as I know, this is the only textbook that uses the client-view (more about this view later in the course). The author is an award winning lecturer and teaches at York.

Read the textbook Studying only the slides and your lecture notes is not sufficient. There will be questions on tests about material that is not covered in class. Therefore, you should read the textbook. Although you need to memorize some material, most of the material you have to understand.

Textbook Each chapter consists of reading material and contains several types of boxes Programming Tip: essential Java Details: useful In More Depth: read and try to understand (don t worry if you don t understand them completely) review questions (try some yourself after having read a chapter), a lab (do it yourself), exercises (try some yourself, good preparation for tests), and echecks (done in the lab).

Advice Apart from attending the lectures and the labs, a student will need to spend on average another 6 hours per week for reading the textbook and practicing writing code. If you get stuck with a programming exercise, ask for help during the lab post your question on the forum https://forum.cse.yorku.ca/viewforum.php?f=124 send me email

Programming languages ABC, Ada, Algol 60, Algol 68, Alice, APL, Basic, BPEL, C, C++, C#, Caml, COBOL, CSP, Eiffel, Emacs Lisp, Erlang, Esterel, Fortran, Haskell, IMP, Java, JavaScript, LaTeX, Lisp, LOTUS, Lustre, Maple, Mathematica, MATLAB, Mesa, Metafont, Miranda, ML, Modula-2, Oak, Oberon, Objective Caml, occam, Pascal, Perl, PHP, Pict, Pizza, PL/I, PostScript, Prolog, Promela, Python, Scala, Scheme, Simula, Smalltalk, SNOBOL, SOAP, Tcl, TeX, Turing, Visual Basic, Z,...

Why Java? Java is well-designed and popular. source: www.tiobe.com

Why Java? Because Java is popular, there are many textbooks about Java, many web pages about Java, and many software packages written in Java.

However,...... this is not a course about Java. Java is used to introduce you to programming and to explain several fundamental concepts. In other courses you will get familiar with other languages. CSE 2031: C CSE 3401: ML and Prolog CSE 3311: Eiffel

Oak In the early 1990s, James Gosling and some of his colleagues at Sun Microsystems, developed a programming language to program device controllers. The language was called Oak after an oak tree that stood outside Gosling s office. The language was expanded to a general purpose programming language and was renamed Java (because Oak was already a trademark). On May 23, 1995, Java was announced.

Java Even though the Web had been around for 20 years or so, with FTP and telnet, it was difficult to use. Then Mosaic came out in 1993 as an easy-to-use front end to the Web, and that revolutionized people s perceptions. The Internet was being transformed into exactly the network that we had been trying to convince the cable companies they ought to be building. All the stuff we had wanted to do, in generalities, fit perfectly with the way applications were written, delivered, and used on the Internet. It was just an incredible accident. And it was patently obvious that the Internet and Java were a match made in heaven. So that s what we did. James Gosling

James Gosling James Gosling was born near Calgary in 1955. He received his BSc in computer science from the University of Calgary and his PhD from Carnegie Mellon University. In 2007, he was made an officer of the Order of Canada. He is best known as the father of the Java programming language.

Trivial problem Write a Java program that prints the Java s age.

Name of a Java application According to the Java Language Specification, the name of an application should be a sequence of letters and digits and the symbols and $, starting with a letter.

Code conventions Rules how to write your code such as naming conventions for applications, variables, etc, indentation, etc. Appendix C of the textbook contains the code conventions to which you and I will (try) adhere during this course. Another example of code conventions can be found at the URL babelfish.arc.nasa.gov/trac/jpf/wiki/devel/ coding conventions.