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