software development csci-1302 lakshmish ramaswamy

14
Software Development CSCI-1302 Lakshmish Ramaswamy

Upload: hilary-goodman

Post on 04-Jan-2016

219 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Software Development CSCI-1302 Lakshmish Ramaswamy

Software DevelopmentCSCI-1302

Lakshmish Ramaswamy

Page 2: Software Development CSCI-1302 Lakshmish Ramaswamy

Logistics• Instructor: Prof. Lakshmish Ramaswamy

• Coordinates: GSRC 542; [email protected]

• Timings and Venue: Tue-Th 11:00 AM – 12:15 PM; Wed 11:15 AM – 12:05 PM (GSRC 306)

• TA: TBA

• Office Hours: Tue & Th 4:45 PM – 5:30 PM• http://www.cs.uga.edu/~laks/SD-2010-Sp/SD-

fall2010.html

Page 3: Software Development CSCI-1302 Lakshmish Ramaswamy

Course Overview

• Software design and implementation

• Object oriented programming with java

• Preliminary data structures & algorithms

• Refer to course page for syllabus

• Prerequisites: 1301 or 1301L

• Textbook: Data Structures and Problem Solving Using Java by Mark Allen Weiss 3rd Edition

Page 4: Software Development CSCI-1302 Lakshmish Ramaswamy

Grading

• Written Assignments/Quizzes – 10%

• Programming Assignments- 45%

• Midterm – 15%

• Final – 30%

• Optional homework – 0%

• Attendance is optional– You are still responsible for all materials

covered in lectures

Page 5: Software Development CSCI-1302 Lakshmish Ramaswamy

Programming Assignments

• 6-7 assignments

• Java in Unix environment

• To be done individually

• Tested for correctness with several test cases

• Small credit for design and coding style

• Assignments may be chained

Page 6: Software Development CSCI-1302 Lakshmish Ramaswamy

Late and Cheating Policies• All assignments are due by 11:59 PM • 10% penalty for each late day• Zero points if late by more than 3 days• Proper documentation needed for health-

related reasons• Cheating cases handed over to academic

honesty department• Minimum penalty – F grade with note in

transcript• No copying from web or other sources

Page 7: Software Development CSCI-1302 Lakshmish Ramaswamy

Basics of Java Programming

• Compiling programs– javac FirstProgram.java

• Executing programs– java FirstProgram

• Set the “path” variable – See the “resources” page– Will be covered in next week

Page 8: Software Development CSCI-1302 Lakshmish Ramaswamy

A Simple Program

Page 9: Software Development CSCI-1302 Lakshmish Ramaswamy

Primitive Types

Page 10: Software Development CSCI-1302 Lakshmish Ramaswamy

Operators • Assignment operators

=, +=, -=, *=, /=

• Binary Arithmetic Operators

+, -, *, /, %

• Unary Operators

++, --

• Type conversions

a = (double) x/y;

Page 11: Software Development CSCI-1302 Lakshmish Ramaswamy

Operators (Contd.)

• Relational & equality operators

==, !=, <, <=, >, >=

• Logical Operators

!, &&, ||

Page 12: Software Development CSCI-1302 Lakshmish Ramaswamy

Branching and Looping

• if-else construct

• while construct

• for construct

• do-while construct

• break and continue

• switch statement

• conditional operator

Page 13: Software Development CSCI-1302 Lakshmish Ramaswamy

Methods

• A unit of code with a specific functionality

• Header consists of a name, list of parameters and return type

• Transfer of control-flow during function invocation and return

• call-by-value parameter passing

• Overloading methods – Multiple functions with same name but different parameters

Page 14: Software Development CSCI-1302 Lakshmish Ramaswamy

Questions ??