CSC 490 Syllabus, Spring 2012

Notre Dame University–Louaize · Senior Study · 7 pages · Dr. Hoda Maalouf

All CSC 490 files
CSC 490 Syllabus, Spring 2012, page 1

Stuck on a question? A tutor can walk you through it.

CSC 490 Syllabus, Spring 2012, page 2 CSC 490 Syllabus, Spring 2012, page 3 CSC 490 Syllabus, Spring 2012, page 4 CSC 490 Syllabus, Spring 2012, page 5 CSC 490 Syllabus, Spring 2012, page 6 CSC 490 Syllabus, Spring 2012, page 7
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