CSC 490 Syllabus, Spring 2012
Notre Dame University–Louaize · Senior Study · 7 pages · Dr. Hoda Maalouf
Show the text of this lab
Notre Dame University-Louaize
Faculty of Natural & Applied Sciences
Department of Computer Science
SENIOR STUDY (CSC/GIS 490)
Spring 2012
Instructor: Dr. Hoda Maalouf
CSC 490/ GIS 490 SENIOR DESIGN PROJECT 3-0) 3 credits. Prerequisites:
Senior Standing.
This is a team project design course. The course covers topics of current interest
in computer science (or GIS).
Course Goals:
1. Understand team mechanics;
2. Understand the tasks involved in a software development process;
3. Understand the application of testing techniques in the development of a
software product;
4. Reinforce the understanding of the different phases of software development.
The course must reveal that the student has the ability to:
1. Do independent work (no direct, constant supervision).
2. Do research and find solutions to unexpected problems.
3. Write original, clear, maintainable, documented software.
4. Organize a project's activities.
The presentation of the project before the committee and the student’s peers must
reveal the student’s ability to:
1. Communicate in a clear, concise and organized manner.
2. Use presentational tools to enhance the presentation.
3. Defend ones work.
SENIOR PROJECT (CSC/GIS490)
Page 1 of 7
For Spring 2012
I.
INTRODUCTION:
You are finally getting close to graduation and you have to undertake a senior
project. This is an excellent time to test your overall knowledge about your major
and put everything your learned into this final project. This is not just another class:
This project will help you get a job by showing off your knowledge to potential
employers. It would also help you get into a good Master’s level program. So, give
it the time it deserves.
II.
FORMAT:
The senior study must be completed in one regular semester just like any other
course.
It should be completed by at most 2 member teams.
In extreme cases, it is possible to have 3 members, but the complexity of the
project should warrant it.
The proposal should be made before the senior project advisor accepts 3
members on a team. Note: not all academic advisors are senior project advisors.
Each team member’s role and input to the project effort should be clearly stated.
It’s best to divide a project vertically rather than horizontally. i.e. every member
of the team will perform every type of task. Example: instead of having one
member create all the screens and another create the entire database model,
instead, one student should create half of the screen + half of the database and the
other student should complete the remaining half.
All deliverable phases and dates are supplied below. It is the students’
responsibility to followup with their advisors, and submit documentation for each
phase as stated below.
SENIOR PROJECT (CSC/GIS490)
Page 2 of 7
For Spring 2012
III.
MILESTONES & DELIVERABLES:
Proposal: it should include the following:
Title of Senior Project
Problem Definition
Study objectives
Approach (including software used)
Note: the proposal should have a listing of the complete functionality of the
system (i.e. a list of what the system will do written in plain english).
Progress Reports
(40% of final grade)
The student/team should submit graded progress reports based on the deadlines
below. A progress report does not necessarily mean a text document. It coulf be
a model of the system at a different level. The exact progress reporting format is
determined by each senior project advisor, and the listing below provides a
sample of the deliverables for each.
Progress report I:
This first phase should produce a detailed scenario,
one-by-one, for each of the functionities of the system listed in the
proposal. Best tool used is: Use Case Diagramming.
Due Date: 16/3/2012 (10% of final grade).
Progress Report II:
This second phase should yield the logical models for
a system: Entity Relationship Diagrams, Data Flow Diagrams, Business
Object Model (Class Diagrams), Activity Diagrams, Sequence
Diagrams… Another approach is to create a prototype of the system.
Due Date: 18/4/2012 (10% of final grade).
Progress Report III:
The third phase should either create a physical
model or should have created a major portion of the source code for the
system.
Due Date: 15/5/2012 (10% of final grade).
Progress Report IV:
By the end of the fourth phase, system coding
should be completed and tested.
Due Date: 1/6/2012 (10% of final grade).
Final Report + Product (10 % of final grade)
The final report documents the project steps conducted in the previous weeks.
The final report should be around 30 pages and should include the following
sections:
Abstract
Table of Contents
List of figures
List of tables (if any)
Chapter 1: Introduction and Problem Definition
(This chapter should also include the report organisation)
Chapter 2: Background
SENIOR PROJECT (CSC/GIS490)
Page 3 of 7
For Spring 2012
Chapter 3: Your work: This section will show your contribution to solve
the domain problem. This includes all the documents created in the
progress reports of the previous section above. Do NOT include any
source code in this section.
Chapter 4: Conclusions
Appendices. N.B. all programs source code should be included here and
not in the main report
Due Date: 13/6/2012
Senior project Exhibition(10 % of final grade)
Students will exhibit their projects to NDU students, faculty members,
Alumni, etc.
Date: Thursday June 14 Location: FNAS Lobby
Presentation of Senior Study
(40% of final grade)
Students will present their projects in front of a committee of three faculty
members, other than their senior advisor. The presentation will contain a series
of slides (PowerPoint) followed by a detailed demonstration of the system. In
case of a group, each student (team member) will be asked separate probing
questions about the system and its components.
The grade awarded by the examining committee will take into consideration all
aspects of the project (the presentation/demo, the final report, the source code,
the appropriateness of the technology for the problem, the user interface…) and
not just the presentation.
In case the committee awards an incomplete, the team must present the
completed project to the committee.
Due Date: During university official Finals week.
IV.
PROJECT REQUIREMENTS GUIDELINES:
Projects fall into 5 general categories and each category has different
requirements (CS, CIS, BC, CGA, GIS). Students will select the category which
closely matches their major. Each category below explicitly lists the types of
students who qualify for such projects:
Management Database Applications: (Bus. Computing & CIS Students)
This type of application is characterized by intensive data input/output by
end-users.
The end-user facing portion is typically created using VB, Access (Forms
and Reports), HTML/ASP, HTML/Php, .Net or any emerging
technologies.
SENIOR PROJECT (CSC/GIS490)
Page 4 of 7
For Spring 2012
The back end is typically a DBMS such as Oracle, SQL Server,
MySQL... An all Microsoft Access Application is not accepted
(Forms/Report and Database) unless heavy use of VBA (Visual Basic for
Applications) is shown.
The Database design should be fully Normalized and the ERD should be
presented during final presentation
As a general rule, there should be at least 7 entities/tables per team
member some of which are used for value lookup (drop down lists).
The GUI should show appropriate data entry schemes like drop down
lists, radio buttons.... It should show complex data entry and display
such as master-detail relationships.
Besides having one report for every screen in the system, the application
should include at least 2 complex reports per team member. Complex
reports are created using a programming language (i.e. without using
wizards).
Avoid uselessly busy screens and background pictures: The application is
supposed to help the user with a task and not to distract or confuse!
Past examples of this category include: store management system, car
rental management, doctor office management, video store management,
online bookstores, travel agency management, computing needs of a
department within a company… Note: cash registers and stock
management systems are not allowed!
This category is most appropriate for Business Computing majors. CIS
students might also create such applications, however, extensive
processing logic should implemented (see special notes for CIS below).
CS student should refrain from this category.
CIS Additional Requirements: CIS students are required to show proficiency
in software engineering methods. This involves planning, creating rigourous
designs, implementation, and testing. CIS majors may create
Business/Management Database Applications, however, such applications
should comply with the following:
Should be accompanied by engineering work products such as:
project plans, Object Oriented analysis and design models
(mandatory), testing plans and methodology, risk control, version
control…
Use of UML is mandatory. The project should account for at least 7
objects per team member. A combination of static and behavorial
models should be present.
As a general rule, CIS students should create business logic for their
applications which should consist of no less than 200 lines of code
(these are programming statements - not including comments and
spaces) per student. This type of code/logic could reside within the
application logic tier or in the DBMS as stored procedures.
Languages include VB, Java, C++, PL/SQL, TransactSQL, …
Computationally Intensive Systems: (CS and CIS Students)
As opposed to the Management Database Application above, this type of
system is not characterized by heavy user input/output, but rather
exhibits a complex processing logic.
The types of applications in this category are mostly scientific in nature
rather than business/management oriented.
SENIOR PROJECT (CSC/GIS490)
Page 5 of 7
For Spring 2012
Languages used in this category include: C, C++ and Java…
Demonstration of usage of complex data structures is required
OODBMS use is encouraged but not mandatory
Past examples of this category include: system diagnostic tools, network
analysis/monitoring utilities, decision support systems (DSS), specialized
compilers/interpreters, Wizards, plugins for browsers, special purpose
libraries, AI, OS utilities, agents, search engines, softbots, algorithms and
implementation…
This category is mostly appropriate for CS students (CS students should
refrain from creating business management database applications). CIS
students could also benefit from creating systems in this category.
The complexity of the system requirements should be approved by the
senior advisor.
Animation/Gaming/Multimedia: (CGA Students)
The project should deal with important issues in the field of 2d and 3D
modeling, 3D animation, digital compositing, stop motion, cartoon animation
and 2d - 3d games. The project may take different forms:
Digital Compositing: Cover trends and techniques in digital compositing
for film and video. Explore merging computer generated imagery with
other source medium such as images captured on camera or in stock
video footage.
3D Computer Modeling: The project should deal with 3D computer
modeling, texturing, and rendering techniques for computer animation.
Emphasize modeling techniques using 3D Curves, Patches, Meshes, Sub-
division Surfaces, Non-Uniform Rational B-Splines, Polygonal Tools
and key frame.
Required Materials: storyboards, sketch out ideas and concepts for all the
animation scenes.
Required Software: 3d studio max; Alias wavefront Maya; Character
animation; Adobe After effects; Adobe premiere; Adobe Photoshop;
Macromedia director; Macromedia flash.
Other programming requirements may apply for certain types of projects
such as interactive games. These include such programming languages
but not limited to Java, C++... Consult with your senior project advisor.
CGA students are most appropriate for this category of applications.
GIS Specific requirements:
GIS students are required to select subjects on scientific basis related to an
embedded sophisticated GIS modelling rather than simple digitizing or
application of a single analysis tool. The GIS implementation should be oriented
towards exploring and designing GIS models to solve diverse:
Environmental (soil, water and mineral resources, geology, etc…),
Socio-economic (urban expansion, infrastructure management, etc…),
Health (spread of disease, pollution, etc…) and
Natural hazards (floods, erosion, mass movements, earthquakes, etc…)
problems.
SENIOR PROJECT (CSC/GIS490)
Page 6 of 7
For Spring 2012
Students from the previous acquired knowledge in different fields of science
should be capable to tackle with the pre-mentioned tasks and should be able to
use different computer assisted techniques (required software: ArcGIS, Erdas
imagine) in handling different types of geospatial data. In addition, students
should show proficiency in using various satellite platforms, imagery treatments
and GIS functions that serve their research projects. Those can be summarized as
follows:
Pre-processing of satellite imageries (radiometric corrections,
georeferencing, image enhancement algorithms, haze detection, spatial
filtering, orthorectification, etc….);
Processing of satellite imageries (supervised classification, unsupervised
classification, photointerpretation) coupled with a performance/validation
analysis (error matrices, kappa estimator, V-fold cross validation, etc…);
Managing spatial, temporal and multimedia data, conceptualizing oriented
models, applying different altimetric treatments on DEMs, dealing with
surfaces and 3D models (extrapolation, spline, krigging, distortion, etc…,
performing spatial correlation, etc… )
General Notes 1: For any of the above project categories, avoid using end-user tools,
such as wizards, in creating the team project. The project should be based on mostly
creating new code (programming). During final presentation, each team member will
be asked to show the code he/she created. Therefore, the following issues are very
important:
Creativity of the problem solved
General application partitioning and layout (architecture)
Consistency throughout the application
Good programming practices and variable naming conventions
System and application logic documentation
Appropriate User Interface
General Notes 2: It is also possible for teams to take an existing software product
and to enhance it by adding new features, to migrate it to another platform, or to
optimize its performance. The software package must be well-known and used by the
software community. An example includes taking a solution which works on .Net
and SQL Server platforms and migrating it to Php and MySQL or the other way
around. Another example would be to take a software utility available for Linux and
create the same on Windows. This type of project must have the approval of the
advisor and his/her close follow up of the project.
V.
ACADEMIC INTEGRITY
Cheating, fabricating, plagiarism, and helping others to commit these acts are all
forms of academic dishonesty and they are wrong. Academic misconduct could
result in disciplinary action that may include, but is not limited to, suspension and
dismissal. THE RISKS ARE VERY HIGH. DO NOT TAKE ANY CHANCES!!
SENIOR PROJECT (CSC/GIS490)
Page 7 of 7
For Spring 2012