1 / 55

Welcome to IIT and cs115!

Welcome to IIT and cs115!. CS 115 - Secs. 001. Jon Hanrath - SB112B hanrath@iit.edu www.cs.iit.edu/~cs115hanrath. Lecture/Lab: TR 1:00 P.M. –4:00 P.M. SB 112E Lectures will be followed by lab time. Lab assignments are due by the end of class on Thursdays each week.

blaker
Download Presentation

Welcome to IIT and cs115!

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Welcome to IIT and cs115!

  2. CS 115 - Secs. 001 • Jon Hanrath - SB112B • hanrath@iit.edu • www.cs.iit.edu/~cs115hanrath

  3. Lecture/Lab: TR 1:00 P.M. –4:00 P.M. SB 112E Lectures will be followed by lab time. Lab assignments are due by the end of class on Thursdays each week.

  4. CS 115 – Required Textbook • “Java 6 Illuminated: An Active Learning Approach” Second or Third or Fourth Edition, Anderson and Franceschi

  5. CS 115 - Quizzes/Exams & Grading • 1 Quiz –5% of Grade • 2 Exams: • Exam I - Lecture Exam - 15% • Exam II - Lecture Exam - 25% • Final Exam - 35% • Labs - 20% • Must Take Final to Pass Course • Final Grade: • A > 90% • B 80-89.99% • C 70 –79.99% • D 60 – 69.99% • E < 60%

  6. CS115 Labs • Labs Consist of a Reading Assignment, and Lab Exercises from Website • Lab Exercises Comprised of Written Exercises and Programming Exercises • Lab Exercises Due by End of Class Thursdays • Students Receive Full Credit for Attempting Each Problem • Lab Exercises Not Corrected or Handed Back • Labs Graded Either 10 (fully completed), 5 (partially completed), or 0 (not completed)

  7. Expectations • Attendance in Lectures and Labs • Completion of Quizzes and Exams • Four to Six Hours per Week on Homework • Outside Help If Necessary • No Cheating • Have fun!!

  8. Rules • No Swearing or Other Inconsiderate Behavior • Turn Off Cell Phones, iPads, Laptops • Questions, Discussion, Ideas Welcome

  9. Excuses • If You Will Miss an Exam or Quiz, Make Arrangements **BEFORE** the Exam or Quiz Date • Exam, Quiz Dates Already Posted • If Emergency: • Doctor/Hospital Note • Family Problem: Contact Info for Parents

  10. Unacceptable Excuses • Slept Late • Felt Sick • I’m Just a Freshman • Roommate Ate My Alarm Clock/Textbook/Underwear • Missed Bus • Had a Game/Match/Practice • Didn’t Know When Exam/Quiz Was • If Any of Above Happen, Get to Class As SOON as Possible!!!

  11. CS 115 - Ethics • Exams: • Closed Book, Closed Notes, Closed Everything • Nothing in Ears (mp3 players, cell phones, etc.) • Labs Should Be Done Independently

  12. CS 115 – Where to Get Help • www.cs.iit.edu/~cs115hanrath • Internet: Search for “JAVA tutorial”, or “JAVA help” • GET HELP EARLY RATHER THAN LATER!!!

  13. CS 115 – Web Page • http://www.cs.iit.edu/~cs115hanrath • Click on Syllabus • Weekly Assignments • Quiz and Exam Dates • Lecture Slides • Other Course Information

  14. CS115 Labs (Cont) • All Labs Assigned from Website • Work on Labs on Personal PC, or Campus Computers • Save .java File(s) to flash drive, or send to yourself in email and Bring to Lab Section for Discussion and Questions • Hand in assignments by end of class Thursday

  15. Course Philosophy • Computer Science Side • Problem Solving • Logical Thought • Programming in JAVA • “Real World” Side • Human Nature • Corporate World • Surviving during and after College

  16. Problem Solving • CS 115 Develops Logic Skills to Solve Problems by Writing a Program • A Program is a Problem Solving Tool • Computers Follow Instructions Given to Them • Computers Do Not Have “Intuition” • Computers Do Not Make Decisions “on Their Own”

  17. Why Use a Program? • Computers Perform Tasks Many Times Faster than a Person • Computers Are More Consistent than a Person • Computers Can Work 24-7

  18. Terminology • Source Code: the Original Problem-Solving, Logical Solution Written in a Programming Language (e.g. JAVA, .java file) • Interpretation: Converting source code into common language (.class file) • Compiling: the Action of Turning the Source Code into a Format the Computer Can Use • Linking: the Action of Bringing in Already Written Code (Libraries) for Use in a New Program • Executable: the Result of Compiling and Linking a Source Program; the “.exe” file that the Computer Can Run

  19. JAVA Required Elements • Every JAVA Program Must Have: public class MyProgram { public static void main( String [ ] args) { } }

  20. Your First Program • // Jon Hanrath • // CS115 • // Section 042 • public class MyProgram • { • public static void main( String [ ] args) • { • System.out.println(“Hello World!!”); • System.exit(0); • } • }

  21. Writing a JAVA Program • Design • Design Team (Experienced) • Pseudocode • In Practice, 75% of Total Program Time • Program • Java, C++, etc. • Coders (Less Experienced) • Test • Test Team • If Even One Error, Back to Design

  22. What Is Pseudocode? • Every Programmer’s Way of Writing Down Steps in Solving a Problem • Steps in Creating Pseudocode: • Understand the Problem • Decide How to Solve the Problem • Write the Solution Using a Logical Sequence of Statements • Design Issues Apply to almost ANY Vocation

  23. Compiler • Converts Source Code into an Object File or Machine Code • Each Change to Source File Requires a Recompilation • Compiler Detects Syntax Errors • Syntax Error: a Non-Proper, Not Allowable, Sequence of Characters or Words Given a Particular Language

  24. Syntax Errors • Spelling Errors Examples: • Undefined Variable Name • Unrecognized Keyword • Punctuation Errors Examples: • Missing Curly Braces • Missing Semicolons • Malformed Comments • Syntax Errors Are Listed at Bottom of Screen When Compilation Is Complete

  25. Syntax Errors (Cont) • Syntax Errors Are Listed at Bottom of Screen When Compilation Is Completed • First Error in Program May “Cause” Other Errors to Show Up • General Rule: Fix First Error (and Any Obvious Errors); Then Recompile

  26. Logic Errors – “Bugs” • Also Called Semantic or Run-Time Errors • Program Compiles, but Doesn’t Produce the Expected Results • Examples: • Program Keeps Running Forever (Infinite Loop) • Nothing Happens • Program Output Is Incorrect • Error Message at Run Time (e.g. Dividing by 0) • Errors May Be Intermittent • May Be Able to Find Semantic Problems with Debugger

  27. Debugging public class MyProgram { public static void main( String [ ] args) { System.out.println(“Program Begins” ); // first 10 lines of program System.out.println(“ Made it to line 10”); // next 10 lines of program System.out.println(“ Made it to line 20” ); //… and so on System.out.println(“ Made it to line 100” ); } }

  28. Detecting “Bugs” • Running Program Should Be Tested Several Times with Different Inputs • Test Plan – Series of tests (e.g., inputs) that have predetermined expected outputs. • Running Program Should Be Tested Several Times under All Potential Conditions • When Errors Detected: Analysis Needed: Debugging Mechanism

  29. Test Plan • What should the Test Plan contain for a program that accepts numerical input from a user, and outputs the square of the input?

  30. JAVA Packages/Libraries • Over 2000 Libraries Exist • Sometimes Called “Packages” • Java.lang Package Automatically Imported • Import Statements Above First Class • Import Others with import statement import java.util.* //import all classes

  31. Comments • Comments: Describe a Program • // Comment to end of line • /* Comment until first occurrence of star slash */ • Difficult to Understate Importance of Good Comments • Should Be at Beginning of Program (Overall Summary) • Should Be Next to Variable Declaration Briefly Describing Uses of Variable • Should Be Anywhere in Program Where Unobvious Coding Is Performed

  32. Program Format • White Space: • Not Recognized by Compiler • Indent (e.g. 3 Spaces) for Each New Function, Selection, or Loop public class MyProgram{public static void main( String [ ] args){System.out.println(“Hello World!!”);System.exit(0);}} .vs public class MyProgram { public static void main( String [ ] args) { System.out.println(“Hello World!!”); System.exit(0); } }

  33. Variables • Identifiers Used to Store Values that May Change • Every Variable Has a Type : What Kind of Value (e.g., Integer, Floating Point Number, Character) Is Begin Stored • Every Variable Has a Value which Is Assigned and Can Be Changed • Every Variable Must Be Declared, which Sets Aside Memory for the Storage Location

  34. Declaring a Variable • Declaration Normally Comes after a Function Definition Opening Curly Brace: • public class MyProgram { public static void main( String [ ] args) { int num1; //variable declaration num1 = 10; // variable assignment // variable output below System.out.println(“num1 is:” + num1); } } • Declaration Includes Type and the Name of the Variable • All Variables Must Be Declared before Being Used

  35. Variables and Main Memory Main Memory int num; num = 10; num = 15; num <garbage> num 10 num 15

  36. Main Memory • Storage Location of Data in a Computer • Used When a Program Is Running • “Wiped Clean” When Computer Rebooted • Bit: Represents One Wire of Computer (On or Off, i.e., “1” or “0”) • Byte: Basic Unit of Storage (Can Store One Letter of the Alphabet) (8 bits per byte…256 combinations) • Kilobyte (KB): 1000 (or 1024) Bytes (Pages of Text) • Megabyte (MB): 1,000,000 Bytes (Large Pictures) • Gigabyte (GB): 1,000,000,000 Bytes (Music Files, Video Files)

  37. Initialization and Assignment • Initialization: Value Given to Variable at Declaration • Assignment: Value Given to Variable in Execution Statement

  38. Variable Initialization public class MyProgram { public static void main( String [ ] args) { int num1 = 10; //variable initialization System.out.println(“num1 is:” + num1); } }

  39. Built-In (or Primitive) Data Types for Variables • int: Integer Range of Typically –2,147,483,648 to 2,147,483,647 (machine and compiler dependent) • float: Real Number (i.e., integer part, decimal part, and exponent part) Range of Typically (+/-) 10e-45 to 10e38 • double: Larger Real Number ((+/-) 10e-324 to 10e308) • char: Character

  40. Naming Variables in JAVA: Identifiers • Can Use Letters: Remember That JAVA is Case Sensitive (e.g., NumWidgets Is Not the Same as numwidgets) • Can Use Digits 0-9, $, and Underscore • Cannot Start with a Digit • Cannot Contain Spaces or Other Characters • Cannot Use JAVA Keywords

  41. Naming Variables (Cont) • Should Use a Meaningful, Descriptive Name so that Variable’s Use Is Easily Understood: • Examples: counter, second, minute, length, width • Be Consistent with Case; Usually Lower Case with Upper Case for Second Part of Variable Name • Examples: averageRainfall, totalStudentGrades, maxBuildingHeight, minPackageWeight;

  42. Variable Scope • Scope: Area of a Program within which a Variable Can Be Referenced • Variable Definitions Are Recognized in the Curly Braces in which They Were Defined • Variables Declared Outside of Functions Are Recognized from the Point Declaration through the Rest of the Program

  43. Named Constants • Constant: An Identifier that Is Initialized to a Value that Cannot Change • Usually Declared at Top of Program using Keyword final • Standard Naming of Constants Is to Use All Upper Case Letter with or without Underscore between Words • All Constants Should Be Initialized • Syntax: final int MAXHT = 100;

  44. Advantages of Constants • Easier to Understand • Easier to Modify • Example: Compare using Number 5000 in Program versus Constant MAXHT

  45. Named Constants public class MyProgram { public static void main( String [ ] args) { final int MAXHT = 100; ... currentHeight > MAXHT ... bridgeHeight == MAXHT ... bridgeHeight + newAddition >= MAXHT ... // used MAXHT 223 times in this program } }

  46. Literal Constants (Values) • Constants Whose values Are Already Known: Characters (Specified Inside Single Quotes): ‘A’ , ‘a’ , ’5’ , ’ ‘ , ’\n’ (newline) , ’\0’ (NULL Character) Integers: 10, 1345, -34 Float or Double: 2.3, -45.18, 10.6e6 String (Specified Inside Double Quotes): “HELLO” , “What a great deal.” , “5”

  47. Input and Output • Also Known as I/O • Output : System.out.println(“Hello World!!”); • Input (Scanner): import java.util.Scanner; Scanner scan = new Scanner(System.in); scan.nextInt(); scan.nextFloat(); scan.nextDouble(); scan.next(); //String to whitespace scan.nextLine(); // String to end of line • All JAVA Statements End in Semicolon (;)

  48. Input and Output Example import java.util.Scanner; public class MyProgram { public static void main( String [ ] args) { Scanner scan = new Scanner(System.in); int numEntered; System.out.print(“Enter an integer:”); numEntered = scan.nextInt(); System.out.println(“You entered: “ + numEntered); } }

  49. Characters and Strings • Strings in java.lang package • Java.lang imported automatically

  50. JAVA Strings • Declaration: String yourName; • Assigning a Value to a String: yourName = “A. Goose”; • String Constants (Values) Must Be Enclosed in Double Quotes

More Related