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

Similar documents
CS 241 Data Organization using C

In this course, you need to use Pearson etext. Go to "Pearson etext and Video Notes".

In this course, you need to use Pearson etext. Go to "Pearson etext and Video Notes".

Spring 2018 El Camino College E. Ambrosio. Course Syllabus

Central Washington University Department of Computer Science Course Syllabus

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

Cleveland State University

Object-Oriented Programming for Managers

CMSC 132: Object-Oriented Programming II. Administrivia

CSC 210 COMPUTER SCIENCE II

CS 200, Section 1, Programming I, Fall 2017 College of Arts & Sciences Syllabus

Introduction to Data Structures

COMP-202A: Introduction to Computing 1

CSC 111 Introduction to Computer Science (Section C)

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

COLLEGE OF DUPAGE CIS 2542 Advanced C++ with Data Structure Applications Course Syllabus

San José State University Computer Science Department CS49J, Section 3, Programming in Java, Fall 2015

KOMAR UNIVERSITY OF SCIENCE AND TECHNOLOGY (KUST)

San Jose State University College of Science Department of Computer Science CS151, Object-Oriented Design, Sections 1, 2, and 3, Spring 2018

CS 111: Programming Fundamentals II

San Jose State University College of Science Department of Computer Science CS151, Object-Oriented Design, Sections 1,2 and 3, Spring 2017

COMP-202A: Introduction to Computing 1

Programming 2. Outline (112) Lecture 0. Important Information. Lecture Protocol. Subject Overview. General Overview.

CS2013 Course Syllabus Spring 2018 Lecture: Mon/Wed 2:00 P.M. 2:50 P.M. SH C259 Lab: Mon/Wed 2:50 P.M. 4:00 P.M. SH C259

Compilers. Computer Science 431

McGill University COMP-202A Introduction to Computing I Summer 2006 webct.mcgill.ca

CSCI 201L Syllabus Principles of Software Development Spring 2018

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

CS 241 Data Organization. August 21, 2018

CoSci 440 SYLLABUS Programming in C++ INSTRUCTOR Mari Rettke cell SECTION : and 13345

CPSC 2380 Data Structures and Algorithms

Compulsory course in Computer Science

Rochester Institute of Technology Golisano College of Computing and Information Sciences Department of Information Sciences and Technologies

Fundamentals of Computer Science CSCI 136 Syllabus Fall 2018

CS/ENGRD 2110 Object-Oriented Programming and Data Structures Spring 2012 Thorsten Joachims

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

San José State University Department of Computer Science CS151, Section 04 Object Oriented Design Spring 2018

CS503 Advanced Programming I CS305 Computer Algorithms I

Division of Engineering, Computer Programming, and Technology

Introduction to UNIX

CS Computer Science I

San Jose State University College of Science Department of Computer Science CS151, Object-Oriented Design, Sections 1 and 2, Spring 2016

CISC 3130 Data Structures Fall 2018

Announcements. 1. Forms to return today after class:

ICS111 Introduction to Computer Science

COMP-202C: Foundations of Programming

ITNW 1425 Fundamentals of Networking Technologies Course Syllabus fall 2012

ECE Object-Oriented Programming using C++ and Java

Cleveland State University

CSci 4211: Data Communications and Computer Networks. Time: Monday and Wednesday 1 pm to 2:15 pm Location: Vincent Hall 16 Spring 2016, 3 Credits

B. Subject-specific skills B1. Problem solving skills: Supply the student with the ability to solve different problems related to the topics

CS2013 Course Syllabus Spring 2017 Lecture: Friday 8:00 A.M. 9:40 A.M. Lab: Friday 9:40 A.M. 12:00 Noon

EECE.2160: ECE Application Programming Spring 2017

ITT Technical Institute. SD1420 Introduction to Java Programming Onsite and Online Course SYLLABUS

COMP 2150 CS 2: Object-Oriented Programming and Data Structure Fall 2018 Dr. James Yu

San José State University Department of Computer Science CS049J, Programming in Java, Section 2, Fall, 2016

MWF 9:00-9:50AM & 12:00-12:50PM (ET)

Course: Honors AP Computer Science Instructor: Mr. Jason A. Townsend

CS120 Computer Science I. Instructor: Jia Song

Oklahoma State University Institute of Technology Face-to-Face Common Syllabus Fall 2017

Advanced Programming Concepts. CIS 15 : Spring 2007

Beijing Jiaotong University CS-23: C++ Programming Summer, 2019 Course Syllabus

CMPT 126: Introduction to Computing Science and Programming Fall 2007, Harbour Centre

ISM 324: Information Systems Security Spring 2014

CS/SE 153 Concepts of Compiler Design

INFS 2150 (Section A) Fall 2018

Computer Technology Division. Course Syllabus for: COMT Spring Instructor: Joe Bolen

CISC 3130 Data Structures Spring 2018

Introduction to Information Technology ITP 101x (4 Units)

AP Computer Science A

CPSC 5157G Computer Networks

EECE.2160: ECE Application Programming Spring 2019

CMSC Introduction to Database Systems

Tutorials. Tutorial every Friday at 11:30 AM in Toldo 204 * discuss the next lab assignment

ECE573 Introduction to Compilers & Translators

CSc 2310 Principles of Programming (Java) Jyoti Islam

Survey of Programming Languages Dr. R. M. Siegfried 407 Science (516) (not for homework submission)

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

COURSE SYLLABUS ****************************************************************************** YEAR COURSE OFFERED: 2015

CS 375 UNIX System Programming Spring 2014 Syllabus

CS/SE 153 Concepts of Compiler Design

Gerlinde Brady Phone: Office Hours: see Web at:

Announcements. Course Staff. Course Staff. Lectures 10/19/11. CS/ENGRD 2110 Fall Instructor. Administrative Assistant

CSci 4211: Introduction to Computer Networks. Time: Monday and Wednesday 2:30 to 3:45 pm Location: Smith Hall 231 Fall 2018, 3 Credits

Kingdom of Saudi Arabia Ministry of Higher Education College of Computer & Information Sciences Majmaah University. Course Profile

San José State University Department of Computer Science CS151, Object Oriented Design, Section 04, Fall, 2016 (42968)

You must pass the final exam to pass the course.

ECOM 2314 COMPUTER PROGRAMMING II

COMP Foundations of Programming

Dr. Angela Guercio Dr. Natalia Dragan. Spring 2011

Syllabus CS 301: Data Structures Spring 2015

Computer Science Technology Department

San José State University Department of Computer Science CS-144, Advanced C++ Programming, Section 1, Spring 2018

Outline. Logistics. Logistics. Principles of Software (CSCI 2600) Spring Logistics csci2600/

PC Applications IT102 estart Fall 2014

CSCI 4250/6250 Fall 2013 Computer and Network Security. Instructor: Prof. Roberto Perdisci

COMP-202B: Foundations of Programming

COSC 115A: Introduction to Web Authoring Fall 2014

CSC 1052 Algorithms & Data Structures II: Introduction

CIS Computer Concepts & Programming

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 Algorithms Basic concepts of object-oriented programming object classes encapsulation inheritance polymorphism Application: GUIs Programming assignments systematic software debugging systematic testing techniques

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

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

Major Course topics 3. Object Oriented Programming: designing and constructing classes 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, Computer Science building, room 2116. CSE 114-L02 (40203) Computer Science I (Laboratory): MoWe 10:00AM - 11:20AM, Computer Science building, room 2116. CSE 114-L03 (40204) Computer Science I (Laboratory): MoWe 11:30AM - 12:50PM, Computer Science building, room 2116. CSE 114-L04 (40205) Computer Science I (Laboratory): MoWe 2:30PM - 3:50PM, Computer Science building, room 2116. CSE 114-L05 (41787) Computer Science I (Laboratory): MoWe 4:00PM - 5:20PM, Computer Science building, room 2116. CSE 114-L06 (41948) Computer Science I (Laboratory): MoWe 5:30PM - 6:50PM, 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) = 50% (25% each) Final exam = 25%

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: Spring 2012: Artificial Intelligence (AI) Poker

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 makes coding much more efficient and organized Eclipse, NetBeans, etc.

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 YourProgramName 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!