CSE 114, Computer Science 1 Course Information. Spring 2017 Stony Brook University Instructor: Dr. Paul Fodor

Similar documents
CSE532 Theory of Database Systems Course Information. CSE 532, Theory of Database Systems Stony Brook University

Computer Science CS 2334: Programming structures and abstractions

Sample Syllabus (C++) CSCI 1301 Introduction to Programming Principles

CS 2302 Data Structures Spring 2015

RARITAN VALLEY COMMUNITY COLLEGE ACADEMIC COURSE OUTLINE. CISY 105 Foundations of Computer Science

CS 261 C and Assembly Language Programming. Course Syllabus

Canisius College Computer Science Department Computer Programming for Science CSC107 & CSC107L Fall 2014

William Paterson University of New Jersey Department of Computer Science College of Science and Health Course Outline

AP Computer Science Summer Assignment Due: 1 st day of class, as you walk into the door!

USC VITERBI SCHOOL OF ENGINEERING INFORMATICS PROGRAM

Major Topics Covered in the Course

Introduction to Programming System Design. CSCI 455x (4 Units)

COURSE OUTLINE. Prerequisites: Course Description:

INFSCI 0017 Fundamentals of Object- Oriented Programming

1.00 Lecture 1. Course information Course staff (TA, instructor names on syllabus/faq): 2 instructors, 4 TAs, 2 Lab TAs, graders

CMSC Fundamentals of Computer Programming II (C++)

CENTRAL TEXAS COLLEGE ITSE 2459 ADVANCED COMPUTER PROGRAMMING C# Semester Hours Credit: 4 INSTRUCTOR: OFFICE HOURS:

Course Description. Prerequisites. CS-119/119L, Section 0137/0138 Course Syllabus Program Design & Development - Fall 2015

CS 170 Java Programming 1. Welcome to CS 170. All about CS 170 The CS 170 Online Materials Java Mechanics: Your First Program

Course: ISYS 4373 Application Development with Java Prerequisite: ISYS 3293

Syllabus for CS 134 Java Programming

AUSTIN COMMUNITY COLLEGE DEPARTMENT OF COMPUTER STUDIES AND ADVANCED TECHNOLOGY

Introduction to Java Programming ITP 109 (2 Units) Fall 2015

Computer Science III Advanced Placement G/T [AP Computer Science A] Syllabus

NEW YORK CITY COLLEGE OF TECHNOLOGY/CUNY Computer Systems Technology Department. COURSE: CST2403 C++ Programming Part 1 ( 4 hours, 3 credits )

CS 1361-D10: Computer Science I

SYLLABUS MAC 1105 COLLEGE ALGEBRA Spring 2011 Tuesday & Thursday 12:30 p.m. 1:45 p.m.

DEPARTMENT OF INFORMATION SCIENCE. INFO221 Application Software Development COURSE OUTLINE

Course Content Concepts

COMP 1405 Intro. to Computer Science I. Course Outline (F2015)

NEW YORK CITY COLLEGE OF TECHNOLOGY/CUNY Computer Systems Technology Department

Sequences, series, and multivariable calculus M408D

INFORMATION AND REGULATIONS FOR SELF-PACED PROGRAMMING COURSES CS 3S, CS 9ABCDEFGH, CS 47ABC. Spring Semester 2008

Analytical Chemistry Lecture - Syllabus (CHEM 3310) The University of Toledo Fall 2012

COMP-202B: Foundations of Programming

Yarmouk University Faculty of Science and Information Technology Department of Computer Information Systems CIS 282 Developing Web Applications

Introduction to Information Technology ITP 101x (4 Units)

Software Development Foundations CPSC Spring 2014 Syllabus

A LOOK BACK: UNDERGRADUATE COMPUTER SCIENCE EDUCATION: A NEW CURRICULUM PHILOSOPHY & OVERVIEW

Mathematics for Business and Economics ( MATH 3210 WEB ) SPRING 2016 Instructor: Dr. Sankara N. Sethuraman Please call me Dr. Sankar.

CSC-570 Introduction to Database Management Systems

Course outline. Code: ICT311 Title: Software Development 2

CSS 341 : Fundamentals of Programming Theory and Applications Course Syllabus-Autumn 2012

CIS Information and Database Systems I. Course Syllabus Spring 2015

Syllabus COMP 517 Computer Security Penn State Harrisburg Fall 2009

COMPUTER SCIENCE, BACHELOR OF SCIENCE (B.S.)

Computer Science 1015F ~ 2010 ~ Notes to Students

Introduction to Psychology Psych 100 Online Syllabus Fall 2014

CS 301 Course Information

Basic info Course: CS 165 Accelerated Introduction to Computer Science Credits: 8 Instructor: Tim Alcon timothy.alcon@oregonstate.

Course Title: Mobile Cloud Computing Date: 8/18/2014. Suggested Bulletin Course Description. Instructor and Office Hours. Course Description

CS 51 Intro to CS. Art Lee. September 2, 2014

Computer Science Theory. From the course description:

Video Game Programming ITP 380 (4 Units)

Accounting : Accounting Information Systems and Controls. Fall 2015 COLLEGE OF BUSINESS AND INNOVATION

CS 425 Software Engineering. Course Syllabus

Syllabus Outline. Syllabus COSC1336 Programming Fundamentals I Page 1 of 6

The course assumes successful completion of CSCI E-50a and CSCI E-50b, i.e. at least two semesters of programming, with a grade of C- or better.

Minnesota Virtual Academy Online Syllabus for AP Computer Science A

Welcome to Introduction to Computers and Programming Course using Python

BMI 540: Computer Science with Java Programming Oregon Health & Science University

MATH 101 E.S. COLLEGE ALGEBRA FALL 2011 SYLLABUS

Computing Concepts with Java Essentials

Masters in Human Computer Interaction

MATH 1900, ANALYTIC GEOMETRY AND CALCULUS II SYLLABUS

This four (4) credit hour. Students will explore tools and techniques used penetrate, exploit and infiltrate data from computers and networks.

CSE 427 CLOUD COMPUTING WITH BIG DATA APPLICATIONS

RARITAN VALLEY COMMUNITY COLLEGE COURSE OUTLINE. CISY 103 Computer Concepts and Programming

How To Teach C++ Data Structure Programming

CS1400 Introduction to Computer Science

College Algebra MATH 1111/11

Masters in Computing and Information Technology

Masters in Networks and Distributed Systems

COURSE SYLLABUS EDG 6931: Designing Integrated Media Environments 2 Educational Technology Program University of Florida

CSE373: Data Structures and Algorithms Lecture 1: Introduction; ADTs; Stacks/Queues. Linda Shapiro Spring 2016

INFO 2130 Introduction to Business Computing Spring 2013 Self-Paced Section 006

MATH 1050, College Algebra, QL, 4 credits. Functions: graphs, transformations, combinations and

CS 394 Introduction to Computer Architecture Spring 2012

The University of Akron Department of Mathematics. 3450: COLLEGE ALGEBRA 4 credits Spring 2015

HARFORD COMMUNITY COLLEGE 401 Thomas Run Road Bel Air, MD Course Outline

Syllabus COP2253: Introduction to Programming in Java

PLV Goldstein 315, Tuesdays and Thursdays, 6:00PM-7:50PM. Tuesdays and Thursdays, 4:00PM-5:30PM and 7:50PM 9:30PM at PLV G320

BIO201 Fundamentals of Biology: Organisms to Ecosystems Prof. John True and Caitlin Karanewsky Prof. Joanne Souza

9/11/15. What is Programming? CSCI 209: Software Development. Discussion: What Is Good Software? Characteristics of Good Software?

Engineering Problem Solving and Programming (CS 1133)

(575) and by prior appointment nmsu. edu

DePaul University School of Accountancy and MIS ACC Online

CS 425 Software Engineering. Course Syllabus

McMaster University Department of Economics ECONOMICS 2HH3 Intermediate Macroeconomics II COURSE OUTLINE Summer Section Day Time Location

Course Syllabus. COSC 1437 Programming Fundamentals II. Revision Date: August 21, 2013

Mobile Application Technologies ITP 140 (2 Units)

Syllabus MAC1105 College Algebra

Physics 230 Winter 2014 Dr. John S. Colton

Seattle Central Community College BITCA Division. Syllabus MIC Online

Master of Science in Computer Science Information Systems

CSE 4415 / SWE 5415 Software Testing 2 Fall 2004 Olin Engineering Building, Room 128 Credits: 3.00

Dr. Angela Guercio. Spring 2011

Springfield Technical Community College School of Mathematics, Sciences & Engineering Transfer

MATH 2103 Business Calculus Oklahoma State University HONORS Spring 2015 Instructor: Dr. Melissa Mills 517 Math Sciences

Transcription:

CSE 114, Computer Science 1 Course Information Spring 2017 Stony Brook University Instructor: Dr. Paul Fodor http://www.cs.stonybrook.edu/~cse114

Course Description Procedural and object-oriented programming methodology. Topics include program structure, conditional and iterative programming, procedures, arrays and records, object classes, encapsulation, information hiding, inheritance, polymorphism, file I/O, and exceptions. Software debugging and testing techniques are emphasized. Includes required laboratory. (https://www.cs.stonybrook.edu/students/undergraduate- Studies/courses/CSE114) Prerequisites: Level 4 or higher on the math placement exam (or MAT 123+) Advisory Prerequisite: CSE 101 or ISE108.

Course Outcomes The following are the official course goals agreed upon by the faculty for this course: An ability to program in an object oriented language, using concepts such as object classes, encapsulation, inheritance, and polymorphism. An ability to use fundamental data structures such as arrays. An ability to program with sound code structure and use systematic software debugging and testing techniques.

Course Focus Introduction to programming (in Java): conditional statements loops methods Fundamental data structures of high-level programming: arrays, lists, stacks,... Basic concepts of object-oriented programming object classes encapsulation inheritance polymorphism Application: GUIs Algorithms Programming assignments systematic software debugging techniques systematic testing techniques

Major Course topics 1. Procedural Programming Basics: variable declarations data types assignment statements & expressions textual manipulation & strings input/output method construction conditional (branching) statements iteration = loops and methods

Major Course topics 2. Arrays: collect data in arrays searching sorting array manipulations

Major Course topics 3. Object Oriented Programming: designing and constructing classes using containment aggregation inheritance polymorphism Application: GUIs

Instructor Information Dr. Paul Fodor 214 New Computer Science Building Office hours: Mondays and Wednesdays 5:30PM-7PM Phone: 1 (631) 632-9820 Email: paul (dot) fodor (at) stonybrook (dot) edu Please include CSE 114 in the email subject and your name in your email correspondence TAs: see course Web page: http://www.cs.stonybrook.edu/~cse114

General Information Course Web page: http://www.cs.stonybrook.edu/~cse114 Blackboard will be used for assignments, grades and course material.

General Information Meeting Information (Class Time and Place): CSE 114-01 (40201) Computer Science I (Lecture 1): TuTh 7:00PM - 8:20PM, Frey Hall 100. CSE 114-L01 (40202) Computer Science I (Laboratory): MoWe 8:30AM - 9:50AM, Old Computer Science building, room 2116. CSE 114-L02 (40203) Computer Science I (Laboratory): MoWe 10:00AM - 11:20AM, Old Computer Science building, room 2116. CSE 114-L03 (40204) Computer Science I (Laboratory): MoWe 11:30AM - 12:50PM, Old Computer Science building, room 2116. CSE 114-L04 (40205) Computer Science I (Laboratory): MoWe 2:30PM - 3:50PM, Old Computer Science building, room 2116. CSE 114-L05 (41787) Computer Science I (Laboratory): MoWe 4:00PM - 5:20PM, Old Computer Science building, room 2116. CSE 114-L06 (41948) Computer Science I (Laboratory): MoWe 5:30PM - 6:50PM, Old Computer Science building, room 2116. Computer Science 2116 is the Computer Science SINC site.

Related to the schedule Sometimes I might be a little late because of my schedule on Tuesdays and Thursdays: TuTh 4:00PM - 5:20PM, CSE/ISE 312 - Legal, Social, and Ethical Issues in Information Systems, Javits 111. TuTh 5:30PM - 6:50PM, CSE307 Principles of Programing Languages, Humanities 1003. TuTh 7:00PM - 8:20PM, CSE 114 Computer Science I, Frey Hall 100.

Textbook Intro.To Java Programming, Brief Vers., Author: Liang, Publisher: Pearson, Edition: 10 th, 2014. ISBN 9780133813470 is the Student Value Edition for Introduction to Java Programming, Brief Version plus http://www.myprogramminglab.com MyProgrammingLab.com is the online testing system that comes with the textbook and we will use it for online computer programming exercises executed in the laboratory and at home as part of the homework assignments. The book with ISBN 9780133813470 includes the subscription to MyProgrammingLab. Students who wish to purchase accss to MyProgrammingLab without the textbook may do so by visiting themyprogramminglab.com website provided by the Pearson publisher of our textbook.

Software Necessary Software: Java Developer Kit (JDK): download from http://java.com/en/download/index.jsp You should download JDK for your operating system (cost: free) Eclipse IDE: http://www.eclipse.org You should download the Eclipse IDE for Java Developers (cost: free)

Coursework Grading Schema: Homework, project, quizzes and labs=25% Programming homework assignments Project Class quizzes Lab assignments Midterm exams (2) = 40% (20% each) Final exam = 35%

Important Dates Midterm Exam #1: Evening exam, Thursday, 3/2, from 8:45 pm - 10:05 pm (80 minutes) Midterm Exam #2: Evening exam, Tuesday, 4/25, from 8:45 pm - 10:05 pm (80 minutes) Final Exam: Common exam, Wednesday May 17, 2017, 8AM-10AM (2 hours = 120 min final exam) See SOLAR for evening and common exams schedules: https://it.stonybrook.edu/services/solar See Final Exams University Schedule for final exam schedules: http://www.stonybrook.edu/registrar/finals.shtml The exams will be like the problems that we solve in the class!

Assignments Homework assignments due on fixed dates and times. no late submission is permitted All assignments should be submitted electronically Blackboard and the textbook Web site

Lab exercises Simple Coding Exercises done in Computer Science (CS) SINC-site room CS 2116 You have only the lab-hour to edit, compile and execute your solution Attendance is mandatory, if you want credit you can leave early only if you showed all your assigned work if you come late, then you don't get the credit for the lab you can come to another lab that same day to get the credit for the lab () same rules apply as above! Demonstrate your work to Lab-TA before you leave for lab credit 0 3 points: 0 - Student did not attend the lab or program does not even compile. 1 - Student attended the lab, program compiles but has major problems. 2 - Student attended the lab, and program partially works (with some minor errors) 3 - Student attended the lab, and program is correct

Regrading of Homework/Exams Please meet with a grading TA or the instructor and arrange for regrading. You have one week from the day grades are posted or mailed or announced! Late requests will not be entertained

Class Schedule Week Lecture Topics 1 Introduction to Computers, Programming and Java 2 Elementary Programming and Selections 3 Mathematical Functions, Characters, and Strings, Loops 4 Methods 5 Arrays and Multi-dimensional Arrays 6 Midterm Review and Exam 1 7 Objects and Classes, Object-Oriented Thinking 8 Spring recess 9 Inheritance and Polymorphism 10 Exception Handling and Text I/O 11 Abstract Classes and Interfaces 12 JavaFX Basics, Event-Driven Programming 13 JavaFX UI Controls and Multimedia 14 Midterm exam 2, Recursion 15 Recursion

Disability Support Services If you have a physical, psychological, medical or learning disability, contact the DSS office at Room 128 ECC. Phone 632-6748/TDD If you are planning to take an exam at DSS office, you need to tell me ahead of time for every exam. All documentation of disability is confidential.

Academic Integrity You can discuss general assignment concepts with other students: explaining how to use systems or tools and helping others with high-level design issues You MAY NOT share assignments, source code or other answers by copying, retyping, looking at, or supplying a file Assignments are subject to manual and automated similarity checking (We do check! and our tools for doing this are much better than cheaters think) If you cheat, you will be brought up on academic dishonesty charges - we follow the university policy: http://www.stonybrook.edu/uaa/academicjudiciary

Catastrophic events Major illness, death in family Formulate a plan (with your CEAS academic advisor) to get back on track Advice Once you start running late, it s really hard to catch up

What do you need to get started? Blackboard account http://blackboard.stonybrook.edu SINC Sites: http://www.sinc.sunysb.edu/helpdesk/labs.shtml Java JDK standard edition: http://www.oracle.com/technetwork/java/javase/downloads Eclipse IDE: http://www.eclipse.org/downloads Learn to use the debugger!!! Liang s student Web site: http://www.cs.armstrong.edu/liang/intro10e

Past CSE114 Projects: Artificial Intelligence (AI) Poker Spring 2012

Fall 2012 CSE114 Project: AI Blackjack

CSE114 Spring 2013 Craps

Fall 2013 CSE114 Project: Baccarat

Spring 2014 Project: Pai Gow Poker (double-hand poker)

Fall 2014 Project: 24 Game

Spring 2015 Project: Bridge

Summer 2015 Project: Go Fish

Fall 2015 Project: Wheel of Fortune

Spring 2016 Project: Cosmic Wimpout http://cosmicwimpout.com/p/7/how-to-play

Fall 2016 Project: Scrimish

Spring 2017 Project: UNO!

Tools for Writing Java Programs 1 st Approach the bare minimum edit Java source code in text editor (ex: Notepad or Pico) compile source code into class files from command line: javac can be tedious poor interactivity 2 nd Approach Integrated Development Environment (IDE) combines writing, compiling, running and debugging Java code into a single application Eclipse, NetBeans, etc. makes coding much more efficient and organized

Java: How does it work? Java Source Code you write??????.java files Compile your Program javac??????.java OR Build menu option in the Run menu included in the Eclipse IDE The Result is: Java Executable Code (bytecode)????????.class files = Java bytecode - not humanly readable Now you can run your java program using the Java Virtual Machine (JVM): java ProgramName OR Run button included in the Eclipse IDE

Please Please be on time Please show respect for your classmates Please turn off (or use vibrate for) your cellphones... On-topic questions are welcome

Welcome and Enjoy!