Title: CSE 114 Computer Science I Introduction
 1CSE 114  Computer Science IIntroduction
Badlands, South Dakota 
 2Who am I?
- Richard McKenna 
- E-mail 
- Office Location CS Room 1436 
- F09 Office hours MF 1030 am  1230 pm, 
-  and by appointment 
- Homepage http//www.cs.sunysb.edu/richard
3Course Homepages
- http//www.cs.sunysb.edu/cse114 
- announcements 
- syllabus 
- schedule (lecture slides, hw, etc ) 
- etc. 
- http//blackboard.stonybrook.edu 
- message board 
- grades 
4Registration Issues
- Prerequisite CSE 110 - C or better 
- NOTE, if you have any registration issues, please 
 come see me
5Why Computer Science?
- Do what you love 
- Computers can change the world 
- There are lots of jobs
6What do these things all have in common? 
 7Youre in luck
- Because youre in demand 
- Read Newsdays assessment LI companies struggle 
 to fill high-tech jobs
- http//www.cs.sunysb.edu/news/index.php?modmain
 subactionshowfullid1219765060
8What is this course about?
- An introduction to 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.
9And?
- Think of this as an opportunity to put Java 
 programming experience on your resume
- When this semester is over, you will be a Java 
 developer
10Major Course topics
- Procedural Programming Basics - Variable 
 declarations and data types, assignment
 statements  expressions, textual manipulation
 strings, input/output, method construction,
 conditional (branching) statements,  iteration.
- Object Oriented Programming - Designing and 
 constructing classes using containment,
 aggregation, inheritance,  polymorphism.
- Arrays - Using arrays to collect like data as 
 well as searching, sorting, and other array
 manipulations.
11What course work is involved?
- 6 Programming Assignments 
- 2 Written Midterm Exams 
- Coding Final Exam 
- in CS 2129
12How are grades computed?
- Best 20/22 Lab Exercises 10 
- 6 Programming Assignments 30 
- 2 Midterm Exams 30 
- Coding Final Exam 30 
-  100 
13Whats a final coding exam?
- You will each program solutions to problems on a 
 computer
- Programming problems (methods) related to HWs 
- Programs will be graded based on performance 
 testing
- Ex we will provide 10 test input to your 
 solution
- if 9/10 input produces correct output, you will 
 receive 9/10 points for that question
- 0 points for when 
- work that doesnt compile 
- an infinite loop 
- your work never produces the correct output
14The Tentative HW  Exam Plan
- HW 1  text  simple I/O 
- HW 2  conditional statements and loops 
- MIDTERM EXAM 1 
- HW 3  object oriented programming 
- HW 4  inheritance  polymorphism 
- MIDTERM EXAM 2 
- HW 5  arrays 
- HW 6  searching  sorting 
- CODING FINAL EXAM
15What do you need to get started?
- MySBMail (and thus Sparky) account 
- Unix operating system 
- HW 1 will be handed in and tested on Sparky 
- Blackboard account 
- http//blackboard.stonybrook.edu/ 
- grades
16Login to MySBMail
- See https//tlt.stonybrook.edu/StudentServices/Ema
 il/Pages/default.aspx
- You will need it for Lab 1 
- If you have any difficulty, go to Melville 
 Library SINC Site for help
- To login http//mysbmail.stonybrook.edu/uwc/auth 
17What book do you need?
- Introduction to Java Programming, Brief Version 
 (7th Edition)by Y. Daniel LiangPublished by
 Prentice Hall, 2008,ISBN 0136042589
18Java
- Java 2 v. 1.6 (a.k.a. Java 6) 
- For info on changes from Java 6 
- http//java.sun.com/javase/6/webnotes/features.htm
 l
- Download 
- http//java.sun.com/javase/downloads/index.jsp 
- API 
- http//java.sun.com/javase/6/docs/api/ 
- The Java Tutorial 
- http//java.sun.com/docs/books/tutorial/index.html
19What is Unix?
- We will use it for the early labs  hws 
- Sparky is the server name 
- Lab 1 will teach you the important commands
20Java IDE
- eclipse 
- Download 
- http//www.eclipse.org/downloads/index.php 
- Video Tutorials to be posted 
- setting up projects 
- debugging
21Lab Facilities
- SINC Sites 
- http//www.sinc.sunysb.edu/helpdesk/labs.shtml 
22Programming Language Hierarchy 
 23Java and Sun
- Developed by Sun Microsystems in early 90s 
- Sun manages/maintains the language 
- A living language - new releases every 12-18 
 months
- JVM (Java Virtual Machine) 
- Program that executes compiled Java code 
- Java SDK (Software Development Kit) 
- Contains standard classes (files with executable 
 code) pre-written by Sun that all programmers may
 use
- J2SE (Java 2 Standard Edition) 
- J2EE (Java 2 Enterprise Edition) 
- Java mascot Duke
24Uses of Java
- Applications programming 
- Database programming using Suns jdbc library 
- Internet programming to create dynamic web sites 
- XML manipulation for data and documentation 
- Servlets and JSP technology 
- Applets technology 
- JavaBeans technology 
- Java libraries exist for every high-level 
 programming technology
- Security, Networking, Multi-Threaded 
 Applications, Graphics, Graphical User Interfaces
 (GUIs), etc
25Tools for Writing Java Programs 
- 1st Approach  the bare minimum 
- edit Java source code in text editor (ex Notepad 
 or Pico)
- compile source code into class files from command 
 line
- can be tedious 
- poor interactivity 
- 2nd Approach  IDEs 
- Integrated Development Environment 
- combines writing, compiling, running and 
 debugging Java code into a single application
- eclipse, JBuilder, Visual Studio, etc. 
- makes coding much more efficient and organized
26How does it work?
- Java Source Code 
-  you write this 
-  .java files
- Compiler Program 
-  part of eclipse IDE 
-  javac Unix command
- Java Executable Code 
-  not readable 
-  .class files
- Java Virtual Machine 
-  part of eclipse IDE 
-  java Unix command
Running Java Program 
 27AN IMPORTANT NOTE ON ACADEMIC DISHONESTY
- All work you submit for homework, projects, or 
 exams MUST be your own work.
- If you cheat or aid someone in cheating, you will 
 automatically fail this course and be brought up
 on charges of academic dishonesty without
 warning.
- NO EXCEPTIONS WILL BE MADE! 
28The mystery of the disappearing student
- Why would a student not take an exam, but remain 
 registered for a course?
- Why would a student not do any programming 
 assignments, but remain registered for a course?
29Rules of thumb to remember
- 3 ½ months is not a long time 
- Points are more difficult to makeup later in the 
 semester
- Have the same sense of urgency for the 1st 
 assignment as you would for the 6th
30A professional attending meetings
- Professionals 
- go to boring meetings 
- go to boring conferences 
- go to boring lectures 
- are expected to learn and retain knowledge from 
 these events
- BTW, hopefully you will reach the point in your 
 professional career where you will look forward
 to attending lectures  conferences
31Get the most out of your (investment)
- Do your best each class 
- not to fall asleep 
- if you do, not to snore or drool 
- not to zone out 
- not to fall prey to Ill learn this later on my 
 own
- to focus your brain on detail 
- This course requires an attention to detail
32And another thing
- Eat your veggies 
- Be kind to children and animals 
- Dont eat and drive 
- Just say no to drugs 
- Get 8 hours of sleep each night 
- Dont punch old people 
- Clean your room 
- Dont play with knives and/or matches 
- Dont play ball in the house
33Our Daily Reminder
- Youre paying me to be here 
- This material cannot be learned in one night, or 
 even in one week
- please give me your brain 
- This is your opportunity to learn this stuff 
- as Computer Scientists, youll have many 
 opportunities to use it