Course Outlines ACIT 2515 201010 - BCIT School of ...

weaverchurchSoftware and s/w Development

Aug 15, 2012 (5 years and 2 months ago)

341 views


C:
\
Program Files
\
neevia.com
\
docConverterPro
\
temp
\
NVDC
\
612BDC2E
-
FE38
-
452C
-
99C1
-
7A4310C920EE
\
weaverchurch_20c146f9
-
4ab6
-
4cb5
-
a065
-
2652236ed628.doc

03/13

Format02

1
?



Course Outline


School of Computing and Academic Studies

Program: Computer Information Technology

Option: First Year

ACIT 2515

Software Design and Data Structures


Start Date:


January 2010

End Date:


April 2010

Total Hours:

56

Total Weeks
:

14


Term/L
evel:

2

Course Credits:

4

Hours/Week:

4

Lecture
:

2

Lab:

2







Prerequisites


is a Prerequisite for:

Course No.

Course Name


Course No.

Course Name

ACIT 1515

Object Oriented Programming

ACIT3900

ACIT 4850

Computer Projects Practicum I

Integrative Pro
gramming &
Technologies




Course Description (required)

Continues the introduction to object
-
oriented programming begun in the Object Oriented Programming course, with
an emphasis on application design, data structures, and software engineering.





Evaluation

Assignments

25%


Comments:

Labs

30%



Midterm Examination

20%



Final Examination

25%



TOTAL

100%






Course Learning Outcomes/Competencies

Upon successful completion, the student will be able to:




Specify and design software for a m
edium
-
sized standalone software product
using a software requirement specification, an object
-
oriented design methodology, and appropriate
design notation.



Use an enterprise
-
class development environment and related tools



Design, implement, test and debug
programs that use large
-
scale APIs.



Describe and contrast standard data structures, including queues, linked lists, sets
and maps.



Describe a multi
-
tiered modern OO application design



Demonstrate appropriate design and implementation of a small domain mode
l



Demonstrate appropriate design and implementation of a small business model



Demonstrate appropriate design and implementation of a small graphical user
interface



Demonstrate appropriate design and implementation of a data access package for
storing objec
t data in a legacy database




Course Outline



(cont’d.)


C:
\
Program Files
\
neevia.com
\
docConverterPro
\
temp
\
NVDC
\
612BDC2E
-
FE38
-
452C
-
99C1
-
7A4310C920EE
\
weaverchurch_20c146f9
-
4ab6
-
4cb5
-
a065
-
2652236ed628.doc

03/13

Format02

2
?



Verification

I verify that the content of this course outline is current.




Jim Parry


01/04/09

Authoring Instructor


Date


I verify that this course outline has been reviewed.







Program Head/Chief Instructor


Date


I verify that this course

outline complies with BCIT policy.







Dean/Associate Dean


Date



Note: Should changes be required to the content of this course outline, students will be given reasonable notice.






Instructor(s)

Jim Parry

Office Location:

T.B.A.

Office Phone:

T.B.A.

Office Hrs.:

T.B.A.

E
-
mail Address:

jim_parry@bcit.ca






Learning Resources

Required Software:



NetBeans

development environment, latest version; free download from
www.netbeans.org



Java SDK v6, free down
load from java.sun.com



Required Text:



Objects First with Java (fourth edition)
, by David J. Barnes & Michael
Kölling; Prentice Hall 2008;

ISBN 0
-
13
-
606086
-
2

Course Outline



(cont’d.)


C:
\
Program Files
\
neevia.com
\
docConverterPro
\
temp
\
NVDC
\
612BDC2E
-
FE38
-
452C
-
99C1
-
7A4310C920EE
\
weaverchurch_20c146f9
-
4ab6
-
4cb5
-
a065
-
2652236ed628.doc

03/13

Format02

3
?



Information for Students

(
Information below can be adapted and supplemented as necessary.
)


Assignments:
Late assignments, lab reports or projects will
not

be accepted for marking. Assignments must be done on an
individual basis unless otherwise specified by the instructor.

Makeup Tests, Exams or Quizzes:

There will be
no

makeup tests, exams or
quizzes. If you miss a test, exam or quiz, you will
receive zero marks. Exceptions may be made for
documented

medical reasons or extenuating circumstances. In such a case, it
is the responsibility of the student to inform the instructor
immediately
.

Ethic
s:
BCIT assumes that all students attending the Institute will follow a high standard of ethics. Incidents of cheating or
plagiarism may, therefore, result in a grade of zero for the assignment, quiz, test, exam, or project for all parties involve
d
and/or
expulsion from the course.

Attendance:

The attendance policy as outlined in the current BCIT Calendar will be enforced. Attendance will be taken at the
beginning of each session. Students not present at that time will be recorded as absent.

Illness:

A do
ctor’s note is required for any illness causing you to miss assignments, quizzes, tests, projects, or exam
.
At the
discretion of the instructor, you may complete the work missed or have the work prorated.

Attempts:

Students must successfully complete a co
urse within a maximum of three attempts at the course. Students with two
attempts in a single course will be allowed to repeat the course only upon special written permission from the Associate Dean
.
Students who have not successfully completed a course wi
thin three attempts will not be eligible to graduate from the
appropriate program.

Course Outline Changes:

The material or schedule specified in this course outline may be changed by the instructor. If
changes are required, they will be announced in class
.




Course Outline



(cont’d.)


C:
\
Program Files
\
neevia.com
\
docConverterPro
\
temp
\
NVDC
\
612BDC2E
-
FE38
-
452C
-
99C1
-
7A4310C920EE
\
weaverchurch_20c146f9
-
4ab6
-
4cb5
-
a065
-
2652236ed628.doc

03/13

Format02

4
?



Assignment Details

Planned out of class work hours:

1
-
2 hours for every timetabled hour

Assignments: Four, roughly every three weeks, due on Sundays 11.59pm.

Lab Exercises: Weekly, due at the end of lab, with built in time to work on assignments.


Ass
ignment #1


Application design; due end of week 4

Given a problem statement, produce the first cut of an application design.

Produce entity relationship diagram, class diagram, sequence diagram.

Tool: NetBeans, with UML modeling plugin

Assignment #2


Dom
ain model implementation; due end of week 6

Complete the design of the domain objects for the problem: attributes and behaviours.

Produce design class diagram, and implement the domain classes as JavaBeans in a NetBeans project.

Generate & simply flesh out

unit testing for the domain package.

Tool: NetBeans (code generation, test generation, build/test scripts)

Assignment #3


Business logic implementation; due end of week 9

Incorporate use case handling into the project, and build a root data model.

You ma
y have to modify your domain model.

Update the class & sequence diagrams; implement the control and model packages.

Tool: NetBeans (refactoring, UML modeling)

Assignment #4


Presentation implementation; due end of week 12

Build a user interface to handle
the use cases identified.

Refine the use case descriptions.

Implement the view package, incorporating a main window and appropriate dialogs.

Tool: NetBeans (GUI builder)


The intent of the group of assignments is to guide the student through “proper” desig
n and implementation of a
complete small application. All of the assignments will pertain to the same application, and the goal is to have a
functional application by the end of the course.


Most design decisions will
have already been made, and these will be explained in the assignment handouts. The
student will have to complete the design, making low
-
level choices, and then implement the resulting completed
design. Lab exercises will provide workshops to lead the stud
ent through the techniques needed to implement each
assignment.


Assignment solutions will be posted the day after the due date for any given assignment, for the students to learn
from and even perhaps adopt for their next assignment.


The assignments are
meant to be done in groups of two, although a student can choose to work on theirs
individually.
Course Outline



(cont’d.)


C:
\
Program Files
\
neevia.com
\
docConverterPro
\
temp
\
NVDC
\
612BDC2E
-
FE38
-
452C
-
99C1
-
7A4310C920EE
\
weaverchurch
_20c146f9
-
4ab6
-
4cb5
-
a065
-
2652236ed628.doc

03/13

Format02

5
?

Schedule


Week of/

Number

Outcome/Material Covered

Reference/

Reading

Assignment

Due Date

1

Introduction

Application design

Use case realization

OFJ 1
-
6



2

Designing classes


goals

Designing classes
-

responsibilities

OFJ 7

#1

End week 4

3

Designing classes


refactoring

Programming recipe

OFJ 7



4

Inheritance

Specialization

OFJ 8

#2

End week 6

5

Inheritance decisions

Polymorphism

OFJ 8



6

Polymorphism

Design patterns

OFJ 9



7

Review

Midterm

OFJ 7
-
8+


#3

End week 9

8

Domain model design

Usecase controllers

OFJ 10




9

Business logic design

Concurrency (threads)

OFJ 10



10

GUI basics

GUI event handling

OFJ 11


#4

End week 12

11

GUI layout

GUI dial
ogs

OFJ 11



12

GUI components

Model
-
driven UI

OFJ 11



13

Application design

Review

OFJ 13, 7
-
11



14

Exam week





Note: The lecture schedule is a guideline only.