SE-1011 Software Development 1
Dr. Mark L. Hornick


Description     Syllabus     Policies    Quizzes     Lab Info    Grading


Revision History

This is where you check for news and information regarding recent additions (assignments, announcements, etc) to this site. The latest revision will be put at the bottom of the list.

9/28/2009 - Adjusted schedule for W4-5.
9/23/2009 - Exam 1 moved to Friday Oct 2. Adjusted schedule for W3-5.
9/10/2009 - Minor changes to reading W1, homework added

This page was last updated on 11/12/2009.

Class Schedule

Lectures are held each Monday, Wednesday, and Friday in S243 from 8:00am to 8:50am.
Labs are on Thursday in L306 from 8:00am to 9:50am.

As stated in my general course policies, attendance is mandatory for all lectures and labs. Email me when you foresee yourself to be absent. I will administratively drop anyone who misses 3 or more classes (lectures and/or labs). Be sure to read the entire document for all relevant policies that apply to this course.

Course Description

This course provides an introduction to object-oriented software development using the Java programming language. Emphasis is placed on translating written problem descriptions into robust software solutions. Topics covered include Java program structure, algorithmic problem solving and modularization, I/O statements, control constructs, looping techniques, class libraries, user defined classes and methods, and arrays.

Please consult the official course description for detailed objectives.

Textbook

Introduction to Programming with Java, Dean & Dean, McGraw-Hill, 2008.

Java Development Tools

Follow this link for more information on the tools we use for this course.

Syllabus

Week Day Topic Reading Homework Lab (Thursday)
W1 M No class - Labor day holiday     Lab 1: Problem solving exercise
W Course Introduction 1.1-1.7  
F Algorithms, Pseudocode and Flowcharts

Variables and Operations

2.1-2.6 p23: problems 7,8,9,10
solution
W2 M Decisions and Repetitions 2.7-2.12   Quiz 1

Lab 2: First Java Program

W Java Programming Basics 3.1-3.14  
F Class exercise 1.8-1.9, 3.15-3.24, A.2-A.3 p52: problems 1,3,4,5

p102: problems 1,2,3,5,6

solution

W3 M

Java Variables and Datatypes
the primitive numeric datatypes
variable identifiers/naming conventions
declaration, initialization, assignment

    Quiz 2

Lab 3: Temperature Converter

W arithmetic operators, arithmetic expressions
arithmetic promotion, order of evaluation, grouping
   
F integer truncation, typecasting
integer overflow, floating point precision
increment/decrement operators
4.1-4.7  
W4 M Conditionals and Boolean logic
relational operators, simple boolean expressions
if() statement
tracing with the Eclipse debugger
  w4 homework problems

solution

Lab 4: Conditional logic
W Review for Exam 1    
F Exam 1  
W5 M Conditional logic continued:
boolean expressions, boolean operators,
nested if() statements

The switch() statement
  w5 homework problems

solution

Quiz 3

Lab 5: Interest Calculator

Process Assessment and Improvement Survey

Results

W Looping and iteration
while and do-while loops
4.8-4.11
4.12.4-15
 
F Looping and Iteration continued
for() loops
  Sample code:
for() loop
W6 M Method invocation

Pre-built classes (Math, String, etc)
passing arguments

5.1-5.3, A.5
5.4-5.7, A.4
5.8-5.9
w6 homework problem

solution

Quiz 4

Lab 6: Using Library classes - Spirographer

Download for lab: winPlotterEx.jar

W Object-oriented programming (1) 6.1-6.7  
F UML and object-oriented programming
public, private, [package]
6.8-6.12, A.7  
W7 M Object-oriented programming details (2)
attributes, methods
7.1-7.5 w7 homework problems Quiz 5

Lab 7: BankAccount class
 

W OO details continued (3)
local variables
the "this" reference
7.6-7.10  
F Review for Exam 2    
W8 M Exam 2    

Lab 8: Gobots!

W OO-exercise
overloading toString()
8.1-8.4  
F OO-exercise
== vs. equals()
immutable Strings
8.5-8.9, 8.13 w8-9 homework problem

solution
W9 M OO-exercise
Class members
9.1-9.6  

Quiz 6

Lab 9: BioAnalyzer

W Arrays 10.1-10.5, 10.10  
F Arrays continued
Class exercise
10.6-10.7 w10 homework problem

solution

W10 M ArrayList class
generics
10.11-10.14   Quiz 7

Lab 10: Refactoring BioAnalyzer

 

W Class exercise    
F Review for Final Exam
Course/Instructor Evaluation
   
W11 Final Exam
(2-sided note sheet permitted)

Monday, Nov 16, 2009
11:00am - 1:00pm
S243

Course policies

My general course policies apply to this course.

Quizzes

A quiz will be given approximately once per week at the beginning of Lab.
The lowest quiz grade will be dropped.
No make-up quizzes will be given.

About Labs

Note that the labs constitute a significant part of your overall grade - a reflection of their importance in this course. Plan to devote a considerable effort in order to complete these labs successfully and professionally. You will have to expend a reasonable effort as you practice using the development tools (Eclipse). You should probably expect to spend additional time outside of class to complete the assignments for the labs.

Grading algorithm

Lab grades are determined by meeting the criteria specified on the individual lab assignments. Any lab assignment involving creation of a program must be substantially functional in order to receive a passing grade. If you turn in a non-functioning program and have not come to see me for help, a grade of no higher than 50 will be given for that assignment.

Note that this algorithm indicates how a grade will be determined for students who have successfully demonstrated mastery of the course objectives. An acceptable level of success in meeting all course objectives is a prerequisite for a passing grade in the course.

Criterion Weight
Labs 20%
Quizzes 30%
Hour Exams 30%
Final Exam 20%

This page was last updated on 11/12/2009