Towson University Department of Computer and Information ...

mongooseriverSoftware and s/w Development

Jun 7, 2012 (4 years and 6 months ago)

506 views

Towson University
Department of Computer and Information Sciences
Summer 2010
COSC 237.020 — Introduction to Computer Science II
Tue — 2:30AM – 5:20PM — YR204*
Thu — 2:30AM – 5:20PM — YR402*
*
Depending on room availability, we may migrate meet in either room on either day. Blackboard announcements

will be posted for any meeting-room alterations
Course Site:
http://bbweb.towson.edu
Instructor
:
Adam J. Conover, D.Sc.
Contact info:
See
http://pages.towson.edu/aconover/
for

all contact information.
Course Description
Introduction to data representation, data structures and their implementations, computer systems concepts,

application of data structures in sort and search algorithms, and the software development process.
Prerequisite
:

COSC 236.
Co-requisite
: MATH 211 or MATH 273.
This section of COSC237 will be taught using the Java programming language (
JDK 1.6
).
Required Textbooks
Java Programming: Program Design Including Data Structures
– D.S. Malik
ISBN-13: 978-1-4188-3540-8
ISBN-10: 1-4188-3540-4
Course Objectives

Explain and use fundamental concepts of object-oriented programming, including abstract data types,

inheritance, and polymorphism.

Use this understanding to write object-oriented programs in Java.

Apply unit testing concepts to the construction and execution of tests for Java classes.

Understand basic concepts of algorithmic analysis and computational complexity

Understand the use of a variety of data structures, including lists, stacks, queues, and trees.

Use data structures to solve various computing problems.

Design recursive and iterative solutions to problems.
Grading
Assignment Weights:
HW/Labs
45%
Midterm
25%
Final Exam
30%
Grading Scale (in %):
A

93.00
C+
77–79.99
A-
90–92.99
C
70–76.99
B+
87–89.99
D+
67–69.99
B
83–86.99
D
60–66.99
B-
80–82.99
F/FX


59.99
1
Labs, Homework, and Exams

Labs wil
l generally require the student to develop and implement computer programs utilizing the Java

Programming language. Time will be given for labs during the “Lab” portion of the course. However, any

lab assignment not completed by the end of a given lab session should be considered “homework” and

will be due by the indicated date. Occasional exercises from the text or other writing/problem-solving

assignments may also be given as homework.

Labs may be guided or unguided. In guided labs, I will walk you through the steps to implement a

specific program. In unguided labs, you will be expected to utilize your own problem-solving skills

and programming knowledge to complete the assignment.

All homework and lab assignments will be given with a due date/time which will be specified with the

assignment. Late assignments
will not
be accepted for credit without
prior approval
or a documented,

university approved absence. If you are having difficulty completing an assignment on time (and require

additional assistance), you must contact the instructor
before
the due date. Submitting incomplete

assignments that demonstrate significant progress towards a solution will generally be awarded partial

credit.

All Assignments, unless otherwise noted, are to be submitted to
BlackBoard
using the “view/complete”

link associated with every assignment.
No hard-copies, emailed assignments, or “Digital Drop Box”

submissions will be accepted
unless specifically permitted in the assignment instructions or by express

permission of the instructor.

The Towson
BlackBoard
URL is:
https://bbweb.towson.edu


With exceedingly rare exception, any difficulties which arise while submitting assignments to

BlackBoard is the direct result of not adhering to the BlackBoard technology requirements. These

requirements can be found at:
http://www.towson.edu/blackboard/Minimum.asp
.

There will be one “mid-term” exam, and one cumulative final exam given during finals week.

Missed exams may
not
be made up without prior approval from the instructor, or satisfactory

documentation of an emergency situation.

See the undergraduate catalog for more information pertaining to the university attendance

policies and guidelines for excused absences.

The instructor will keep all completed exams on file and the student shall not be permitted to

retain the exam or copies thereof. Any student wishing to revue the exam in greater detail should

make an appointment with the instructor.
NOTE
: Though it is the instructor's desire to give students ample time within the “Lab” sessions to complete

the lab assignments, students may occasionally require additional time outside of class to complete a lab.

The lab facilities on campus or personal computers may be utilized for this purpose. The programs we use in

class are freely available and will run on MacOS, Windows, or Linux machines.
Class Policies

All class policies are fundamentally intended to sustain an atmosphere that is non-disruptive to the

classroom and conductive to learning.

All students are expected to be on-time for – and remain for the duration of – all class sessions.

Cell phones should be silenced during class.

The instructor reserves the right to prohibit the use of personal computing devices during lecture,

especially if such use is deemed distracting or disruptive to the classroom environment. This

determination will be made at the sole discretion of the instructor.

It is the intent of the instructor to make all grading fair and uniform. To this end, "subjective" grading will

be avoided wherever possible and all grading criteria will apply uniformly to all students.
2
Attendance

Attendance may be taken at any time during regularly scheduled lecture sections of the course.

Though it is not the policy of this instructor to
directly
penalize students for missed classes, class

attendance is essential to doing w
ell in the course as material may be presented in class that

augments
any notes posted to
BlackBoard
.

Since all assignments (and any pre-prepared lecture note
s) will be posted on
BlackBoard
, you should

check
BlackBoard
(or the syllabus)
before
emailing the instructor with any questions pertaining to

assignments or daily topics.

However,
BlackBoard
is not a replacement for class attendance; not every instruction given in class

will necessarily be repeated on
BlackBoard
.

Assignments are expected to be submitted on time regardless of you attendance on a particular day.
University Policies

For issues pertaining to Academic Integrity, the student should consult the
Student Academic Integrity

Policy.
It should be noted that the instructor is obliged to report any incidents of academic dishonesty to

the office of Academic Affairs. Occurrences of cheating or plagiarism (including the submission of source

code copied from the Internet) may yield a failing grade for the assignment or course, and are subject to

the university established academic integrity policies:

http://www.towson.edu/provost/resources/studentacademic.asp


Course repeat policy: Students may not repeat a course more than once without prior permission of the

Academic Standards Committee.

For any issues not specificall
y addressed in this syllabus, the student should consult the
Towson

University Undergraduate Catalog

http://www.towson.edu/main/academics/ugrad/undergraduatecatalog.asp

Software Downloads
All software necessary for lab programming exercises are installed on the the lab computers. If you wish to install

the course software on a personal machine, all programs are freely available:

Java Developers Kit
(
http://java.sun.com/javase/downloads/
)

Download:

JDK 6

Java SE 6 Documentation

One of the following

Netbeans
Integrated Development Environment (
http://www.netbeans.org/
)

Eclipse
Integrated Development Environment (
http://www.eclipse.org/
)

DrJava
Introductory Programming Environme
nt (
http://www.drjava.org/
)
Software Downloads
All necessary software for lab programming exercises is installed on the the lab computers. If you wish to install

the course software on a personal machine, all of the programs we will use are freely available.
Though I don't care what development environment you choose, I recommend
one
of the following:
DrJava
is a

very simple environment and easy for the novice programmer.
Netbeans
and
Eclipse
are both free, “professional”

development environments that can be a bit overwhelming to a novice, but provide very powerful source editing,

testing, debugging, and re-factoring features. Links to various environments and general Java information can be

found on the instructor's web site at:
http://pages.towson.edu/aconover
Note: Since I have a strong preference for Netbeans, which is already installed on the lab computers, I will will be

using Netbeans for most of the in class demonstrations.
3
Tentative Schedule
*
:
Week
(week of)
Topic(s)
1
May 25
th

Course Introduction

COSC236 Review

Introduction to Java Programming (Chapter 1)

Primitive Data and Definite Loops (Chapter 2)

Control Structures (Chapters 4 & 5)

Objects for Input/Output (Chapter 3)

User Defined Methods (Chapter 7)

Arrays (Chapter 9)
2
Jun 1
st

Graphical User Interfaces and Object-Oriented Design (Chapter 6)

Classes and Objects (Chapters 8)
3
Jun

8
th

The Vector (Chapter 10)

Inheritance and Polymorphism (Chapter 11)
4
Jun

15
th

Inheritance and Polymorphism (Chapter 11)

Recursion
(select sections to be assigned)

Midterm Exam
(Thursday)
5
Jun 22
nd

Generic Methods, Classes, and Array-Based Lists
(select sections to be assigned)

Linked Lists
(select sections to be assigned)
6
Jun 29
th

Stacks and Queues
(select sections to be assigned)
7
Jul

6
th

Searching and Sorting Algorithms
(select sections to be assigned)

Binary Trees
(select sections to be assigned)
8
Jul

13
th

Final Exam
(Tuesday)
*
Please note that all scheduled dates are tentative and additional topics will be introduced to augment

the material in the text. Class progress, university closings, etc. may necessitate alteration of the

schedule. Unless extenuating circumstances arise, the exam dates will remain fixed; only the chapter

coverage of the exam will change if we have failed to cover the given chapters by an exam date.
The schedule of Lab assignments will be given at the discretion of the instructor based on the

material covered to date. The labs will generally be designed to reinforce the concepts currently

being discussed in the lecture portion of class.
4