Difference between revisions of "CSCI1106"

From Hallab
Jump to navigation Jump to search
Line 14: Line 14:
 
=== Course Description ===
 
=== Course Description ===
  
==== About the Modules ====
+
The Animated Computing course is a hands-on introduction to two areas of computer science, robotics and game design. Students will program robots to solve a variety of tasks and design animated computer games. Students will learn about the challenges that a robot faces when interacting with the world around it and the challenges that we face in designing and programming the robots. Students will also learn about computer game design and how to implement simple but interesting animated computer games. Students will investigate both the hardware and software aspects of robotics and design, implement, and play-test basic computer games. Students will also learn how to apply the empirical method to investigate various aspects in robotics and game design.
  
There are two modules that will be covered in the class: robotics and game design. Each module comprises 18 lectures and 12 labs. In the lectures and the first six labs you will be introduced to a new technology and explore it by following step by step procedures and answering questions along the way. The remaining labs consist of five project periods and a presentation period. During the project periods you and your group will develop a project, using the technology that you explored in the tutorials.  
+
Classes will be structured in a lecture/lab format and divided into two modules: Game Design and Robotics. During the lectures students will be introduced to the concepts and underpinnings of robotics and game design. The laboratory portion will be devoted to hands-on work in a group. Groups will work together for the duration of a module.
  
==== Lab Reports ====
 
  
For each lab, each group will need to fill out a lab report using the following [[Media:labreport.pdf|lab report form]]. Each team member who attended the lab must sign the form. Please remember to complete the additional questions specified in the course notes or by the instructor.
+
=== Learning Outcomes ===
 +
• Describe how an event driven system works.
 +
• Describe and justify what constitutes a good game.
 +
• Implement a game using integrated media presentation authoring software. • Identify the challenges in designing and implementing games.
 +
• Design a simple animated game.
 +
• Use sensors and actuators in a robotics applications.
 +
• Use states and transitions to model the behaviour of a system.
 +
• Apply various techniques to identify and recover from faults.
 +
• Program a robot to accomplish tasks of moderate complexity.
 +
• Identify some of the challenges in robotics and mechanisms for overcoming these challenges.
 +
• Formulate a question that can be answered via a study, experiment, or project.
 +
• Apply various methods, tools, and techniques to conduct a study, experiment, or project. • Analyze resulting data and relate it to theoretical and foundational knowledge.
 +
• Describe factors that may adversely affect the study, experiment, or project.
 +
• Identify future directions in various technologies and computer science fields.
 +
• Work with peers on a shared project.
 +
• Write a technical report describing and justifying the design and implementation of a project.
  
==== Project Write-up ====
+
=== Prerequisites ===
 +
None.
  
For each module in the course you will prepare a short project paper describing your project.  Your project and project write-up will be evaluated and graded.
 
 
To help with your project write-up and reviews, please refer to the instructions in the respective module. Project write-ups must be submitted in both hard copy and soft copy. The hard-copy must be handed-in in the class following the project presentation.
 
 
==== Robotics Module ====
 
 
===== Tutorials =====
 
 
There are [[Media:robotics.pdf|six tutorials]] for the Robotics Module. In these tutorials you will use a Tribot from Lego Mindstorms NXT kit.
 
 
You will need to download the program [[Media:SensorProbe.zip|SensorProbe.rbt]] for Tutorial 2.  You will need to download the program [[Media:DisplayTimerValue.zip|DisplayTimerValue.rbt]] for Tutorial 3.
 
 
===== Project =====
 
 
The project consists of three events in which your Tribot will participate. For each of the events you will need to write a program for your tribot. The [[Media:robotics_project_winter_2013.pdf|project specification]] contains the specifications for each event and how your project will be graded.
 
 
===== Project Report =====
 
 
The project write-up for this module is a project report describing your programs and justifying their design. The [[Media:robotics_project_winter_2013.pdf|project specification]] describes the report's content, structure, and format.
 
 
The following [[Media:Robotics_Report_Template2013.pdf|template]] sets the format and structure of the report. You only need to fill in the content.
 
 
==== Game Design Module ====
 
===== Tutorials =====
 
 
There are [[Media:GameDesign.pdf|six tutorials]] for the Game Design Module. For all of the tutorials you will use Flash.
 
The end result of these tutorials will be a Brick Breaker Game similar to [[Media:brickBreaker.zip|this]].
 
 
===== Project =====
 
 
The project for this module is to create a game given a basic framework for a flight-based game. The [[Media:game_project2013.pdf|project specification]] contains the requirements for the game and the project will be graded.
 
 
The starting point for the game can be found in this [[Media:game_project2013.zip|zip file]], which contains all the basic objects and code needed to start developing your game.
 
 
===== Project Report =====
 
 
The project write-up for this module comprises a technical and a user manual. The manuals describe the implementation and use, respectively, of your game. The [[Media:game_project2013.pdf|project specification]] describes the manuals' content, structure, and format.
 
 
The [[Media:UserManualTemplate2013.docx|user manual template]] sets the format and structure of the user manual, and the [[Media:TechnicalManualTemplate2013.docx|technical manual template]] sets the format and structure of the technical manual.
 
  
 
=== Schedule (tentative; can change) ===
 
=== Schedule (tentative; can change) ===
Line 100: Line 76:
  
 
=== Grading Scheme ===
 
=== Grading Scheme ===
 +
 +
 +
=== Evaluation ===
 +
20% Game Design Project: Project Evaluation (50% of project mark). Due the day before the project presentation lab
 +
Each group submits the game that they have designed. All members of the group are assigned the same
 +
mark for the project. Project Report (50% of project mark): Due Monday, October 21, 8:35am (in class)
 +
Each group submits a user manual and a technical manual describing their project and all members of
 +
the group are assigned the same mark for the papers.
 +
 +
20% Robotics Project:
 +
Project Evaluation (50% of project mark)
 +
Due at start of the project presentation lab
 +
Each group submits three programs designed to participate in the “Robot Olympics”. All members of the group are assigned the same mark for the project.
 +
Project Report (50% of project mark)
 +
Due Wednesday, December 4, 8:35am (instructor’s office)
 +
Each group submits a single report describing their project and all members of the group are assigned the same mark for the paper.
 +
 +
10% Lab Reports
 +
At the end of each tutorial and project work period each group submits a brief lab report detailing what they accomplished, who was present, and answering a number of specified questions. (See course notes for lab report forms.) All members of the group are assigned the same mark.
 +
 +
20% Quizzes
 +
There are 6 quizzes that evaluate knowledge of the course content learned both in lectures and labs.
 +
 +
30% Final Exam
 +
There will be a two hour final exam that will be scheduled by the Registrar.
 +
 +
All project submissions are to be done via the Moodle (http://moodle.cs.dal.ca). Only one member of the group needs to submit. This group member must be enrolled in the CSCI1106 course on the Moodle site.
 +
No late submissions accepted except in cases of documented, university approved reasons.
 +
To pass the course students must pass the individual component of the evaluation comprising the bi-weekly Quiz and Final exam portion of the marks.
 +
A student’s project evaluation may be lowered if they do not contribute sufficiently to the project.
 +
Grades will be assigned using the letter grade scale in Section 17.1 of Dalhousie Academic Calendar.
 +
The instructor reserves the right to adjust a student’s evaluation criteria, with the student’s consent, if the instructor deems than an adjustment is warranted.
 +
 +
 +
=== Student Accommodation ===
 +
Students may request accommodation as a result of barriers related to disability, religious obligation, or any character- istic under the Nova Scotia Human Rights Act. Students who require academic accommodation for either classroom participation or the writing of tests and exams should make their request to the Advising and Access Services Center
 +
3
 +
(AASC) prior to or at the outset of the regular academic year. Please visit www.dal.ca/access for more information and to obtain the Request for Accommodation Form A.
 +
A note taker may be required as part of a students accommodation. There is an honorarium of $75/course/term (with some exceptions). If you are interested, please contact AASC at 494-2836 for more information.
 +
Please note that your classroom may contain specialized accessible furniture and equipment. It is important that these items remain in the classroom, untouched, so that students who require their usage will be able to participate in the class.
 +
 +
 +
  
  

Revision as of 13:57, 25 December 2013

Animated Computing 2014

Instructors

Professor:

 Dr. Thomas Trappenberg (tt@cs.dal.ca)  
Office: Room 4216 in Mona Campbell Building on Coburg RD
Office hour: write email

Teaching Assistants:

 TBA

Course Description

The Animated Computing course is a hands-on introduction to two areas of computer science, robotics and game design. Students will program robots to solve a variety of tasks and design animated computer games. Students will learn about the challenges that a robot faces when interacting with the world around it and the challenges that we face in designing and programming the robots. Students will also learn about computer game design and how to implement simple but interesting animated computer games. Students will investigate both the hardware and software aspects of robotics and design, implement, and play-test basic computer games. Students will also learn how to apply the empirical method to investigate various aspects in robotics and game design.

Classes will be structured in a lecture/lab format and divided into two modules: Game Design and Robotics. During the lectures students will be introduced to the concepts and underpinnings of robotics and game design. The laboratory portion will be devoted to hands-on work in a group. Groups will work together for the duration of a module.


Learning Outcomes

• Describe how an event driven system works. • Describe and justify what constitutes a good game. • Implement a game using integrated media presentation authoring software. • Identify the challenges in designing and implementing games. • Design a simple animated game. • Use sensors and actuators in a robotics applications. • Use states and transitions to model the behaviour of a system. • Apply various techniques to identify and recover from faults. • Program a robot to accomplish tasks of moderate complexity. • Identify some of the challenges in robotics and mechanisms for overcoming these challenges. • Formulate a question that can be answered via a study, experiment, or project. • Apply various methods, tools, and techniques to conduct a study, experiment, or project. • Analyze resulting data and relate it to theoretical and foundational knowledge. • Describe factors that may adversely affect the study, experiment, or project. • Identify future directions in various technologies and computer science fields. • Work with peers on a shared project. • Write a technical report describing and justifying the design and implementation of a project.

Prerequisites

None.


Schedule (tentative; can change)

Week Monday Tuesday Wednesday Thursday Friday
1 Jan 7
Course Introduction
Jan 8
Jan 9
Introduction to Robotics
Jan 10
Robotics Tutorial 1
Jan 11
2 Jan 14
Characterizing Sensors
Jan 15
Robotics Tutorial 2
Jan 16
Using Sensors and Actuators
Jan 17
Robotics Tutorial 3
Jan 18
Guest Lecture (marine robotics)
3 Jan 21
State Transition Diagrams
Jan 22
Robotics Tutorial 4
Jan 23
Dealing with Failure
Jan 24
Robotics Tutorial 5
Jan 25
Quiz 1
4 Jan 28
Variables and Threads
Jan 29
Robotics Tutorial 6
Jan 30
Project Planning
Jan 31
Robotics Project 1
Feb 1
4 Munro Day - University closed
5 Feb 4
Using State Transition Diagrams
Feb 5
Robotics Project 2
Feb 6
Debugging
Feb 7
Robotics Project 3
Feb 8
Quiz 2
6 Feb 11
Threads, Interference, and Other Topics
Feb 12
Robotics Project 4
Feb 13
Project Management
Feb 14
Robotics Olympics
Feb 15
7 Feb 18
Introduction to Game Architecture
Feb 19
Game Tutorial 1
Feb 20
Classes, Objects, and Events
Feb 21 REPORT DUE
Game Tutorial 2
Feb 22
Quiz 3
8 Mar 4
Movement and Collision Detection
Mar 5
Game Tutorial 3
Mar 6
Player Movement
Mar 7
Game Tutorial 4
Mar 8
Devin Horsman: Demystifying games / Game Design primer
9 Code interpretation Mar 12
Game Tutorial 5
Mar 13
Mar 11
Play Testing
Mar 14
Game Tutorial 6
Mar 15
Quiz 4
10 Mar 18
High Level Game Design
Mar 19
Game Project 1
Mar 20
Randomness, Arrays and Buttons
Mar 21
Game Project 2
Mar 22
11 Mar 25
Other Controls and Projectiles
Mar 26
Game Project 3
Mar 27
Polish/Quiz 5
Mar 29
Game Project 4
Mar 29
Good Friday
12 Apr 1
No Class
Apr 2
Game Project 5
Apr 3
Review
Apr 4
Presentation Day
Apr 5
Quiz 6
13 Apr 8
Apr 9
Apr 10
Apr 11
Reports due
Apr 12

Grading Scheme

Evaluation

20% Game Design Project: Project Evaluation (50% of project mark). Due the day before the project presentation lab

Each group submits the game that they have designed. All members of the group are assigned the same mark for the project. Project Report (50% of project mark): Due Monday, October 21, 8:35am (in class) Each group submits a user manual and a technical manual describing their project and all members of the group are assigned the same mark for the papers.

20% Robotics Project: Project Evaluation (50% of project mark) Due at start of the project presentation lab Each group submits three programs designed to participate in the “Robot Olympics”. All members of the group are assigned the same mark for the project. Project Report (50% of project mark) Due Wednesday, December 4, 8:35am (instructor’s office) Each group submits a single report describing their project and all members of the group are assigned the same mark for the paper.

10% Lab Reports At the end of each tutorial and project work period each group submits a brief lab report detailing what they accomplished, who was present, and answering a number of specified questions. (See course notes for lab report forms.) All members of the group are assigned the same mark.

20% Quizzes There are 6 quizzes that evaluate knowledge of the course content learned both in lectures and labs.

30% Final Exam There will be a two hour final exam that will be scheduled by the Registrar.

All project submissions are to be done via the Moodle (http://moodle.cs.dal.ca). Only one member of the group needs to submit. This group member must be enrolled in the CSCI1106 course on the Moodle site. No late submissions accepted except in cases of documented, university approved reasons. To pass the course students must pass the individual component of the evaluation comprising the bi-weekly Quiz and Final exam portion of the marks. A student’s project evaluation may be lowered if they do not contribute sufficiently to the project. Grades will be assigned using the letter grade scale in Section 17.1 of Dalhousie Academic Calendar. The instructor reserves the right to adjust a student’s evaluation criteria, with the student’s consent, if the instructor deems than an adjustment is warranted.


Student Accommodation

Students may request accommodation as a result of barriers related to disability, religious obligation, or any character- istic under the Nova Scotia Human Rights Act. Students who require academic accommodation for either classroom participation or the writing of tests and exams should make their request to the Advising and Access Services Center 3 (AASC) prior to or at the outset of the regular academic year. Please visit www.dal.ca/access for more information and to obtain the Request for Accommodation Form A. A note taker may be required as part of a students accommodation. There is an honorarium of $75/course/term (with some exceptions). If you are interested, please contact AASC at 494-2836 for more information. Please note that your classroom may contain specialized accessible furniture and equipment. It is important that these items remain in the classroom, untouched, so that students who require their usage will be able to participate in the class.



20% Robotics Project

Project Evaluation (50% of project mark)

    Due at start of the project presentation lab.
    Each group submits two programs designed to participate in the “Robot Olympics”. 
    All members of the group are assigned the same mark for the project. 

Project Report (50% of project mark)

    Due Thursday, February 21, (in lab).
    Each group submits a single report describing their project and all members of the group are assigned the same mark for the paper.

20% Game Design Project

Project Evaluation (50% of project mark)

    Due at start of the project presentation lab.
    Each group submits the game that they have designed. All members of the group are assigned the same mark for the project.

Project Report (50% of project mark)

    Due Thursday, April 11, by email to your TA.
    Each group submits a single report describing their project and all members of the group are assigned the same mark for the paper.

10% Lab Reports

    At the end of each tutorial and project work period each group submits a brief lab report detailing what they accomplished, who 
    was present, and answering a number of specified questions. (See course notes for lab report forms.) All members of the group are
    assigned the same mark.

20% Quizzes

    There are 6 quizzes that evaluate knowledge of course content learned both in lectures and labs.

30% Final Exam

    There will be a two hour final exam that will be scheduled by the Registrar.\

Notes:

    All lab reports and project must be submitted to the lab instructors. Only one member of the group needs to submit. 
    No late submissions accepted except in cases of documented, university approved reasons.
    To pass the course students must pass the individual component of the evaluation comprising the bi-weekly Quiz and Final exam portion of the marks.
    A student’s project evaluation may be lowered if they do not contribute sufficiently to the project.
    Grades will be assigned using the letter grade scale in Section 17.1 of Dalhousie Academic Calendar.
    The instructor reserves the right to adjust a student’s evaluation criteria, with the student’s consent, if the instructor deems that an adjustment is warranted.

Learning Outcomes

• Use sensors and actuators in a robotics applications.
• Use states and transitions to model the behaviour of a system.
• Apply various techniques to identify and recover from faults.
• Program a robot to accomplish tasks of moderate complexity.
• Identify some of the challenges in robotics and mechanisms for overcoming these challenges.

• Describe how an event driven system works.
• Describe and justify what constitutes a good game.
• Implement a game using integrated media presentation authoring software.
• Identify the challenges in designing and implementing games.
• Design a simple animated game.

• Formulate a question that can be answered via a study, experiment, or project.
• Apply various methods, tools, and techniques to conduct a study, experiment, or project.
• Analyze resulting data and relate it to theoretical and foundational knowledge.
• Describe factors that may adversely affect the study, experiment, or project.

• Identify future directions in various technologies and computer science fields.
• Work with peers on a shared project.
• Write a technical report describing and justifying the design and implementation of a project.


Academic Integrity & Plegarism

(Based on the sample statement provided at http://academicintegrity.dal.ca. Written by Dr. Alex Brodsky.)

Please familiarize yourself with the university policy on Intellectual Honesty. Every suspected case will be reported.

At Dalhousie University, we respect the values of academic integrity: honesty, trust, fairness, responsibility and respect. As a student, adherence to the values of academic integrity and related policies is a requirement of being part of the academic community at Dalhousie University.


What does academic integrity mean?

Academic integrity means being honest in the fulfillment of your academic responsibilities thus establishing mutual trust. Fairness is essential to the interactions of the academic community and is achieved through respect for the opinions and ideas of others. Violations of intellectual honesty are offensive to the entire academic community, not just to the individual faculty member and students in whose class an offence occurs. (see Intellectual Honesty section of University Calendar)


How can you achieve academic integrity?

• Make sure you understand Dalhousies policies on academic integrity.

• Give appropriate credit to the sources used in your assignment such as written or oral work, com- puter codes/programs, artistic or architectural works, scientific projects, performances, web page designs, graphical representations, diagrams, videos, and images. Use RefWorks to keep track of your research and edit and format bibliographies in the citation style required by the instructor (http://www.library.dal.ca/How/RefWorks)

• Do not download the work of another from the Internet and submit it as your own.

• Do not submit work that has been completed through collaboration or previously submitted for another assignment without permission from your instructor. • Do not write an examination or test for someone else.

• Do not falsify data or lab results.

These examples should be considered only as a guide and not an exhaustive list.


What will happen if an allegation of an academic offence is made against you?

I am required to report a suspected offence. The full process is outlined in the Discipline flow chart, which can be found at: http://academicintegrity.dal.ca/Files/AcademicDisciplineProcess.pdf and in- cludes the following:

1. Each Faculty has an Academic Integrity Officer (AIO) who receives allegations from instructors.

2. The AIO decides whether to proceed with the allegation and you will be notified of the process.

3. If the case proceeds, you will receive an INC (incomplete) grade until the matter is resolved.

4. If you are found guilty of an academic offence, a penalty will be assigned ranging from a warning to a suspension or expulsion from the University and can include a notation on your transcript, failure of the assignment or failure of the course. All penalties are academic in nature.


Where can you turn for help?

• If you are ever unsure about ANYTHING, contact myself.

• The Academic Integrity website (http://academicintegrity.dal.ca) has links to policies, defini tions, online tutorials, tips on citing and paraphrasing.

• The Writing Center provides assistance with proofreading, writing styles, citations.

• Dalhousie Libraries have workshops, online tutorials, citation guides, Assignment Calculator, Ref- Works, etc.

• The Dalhousie Student Advocacy Service assists students with academic appeals and student discipline procedures.

• The Senate Office provides links to a list of Academic Integrity Officers, discipline flow chart, and Senate Discipline Committee.

Request for special accommodation

Students may request accommodation as a result of barriers related to disability, religious obligation, or any characteristic under the Nova Scotia Human Rights Act. Students who require academic accommodation for either classroom participation or the writing of tests and exams should make their request to the Advising and Access Services Center (AASC) prior to or at the outset of the regular academic year. Please visit www.dal.ca/access for more information and to obtain the Request for Accommodation – Form A.

A note taker may be required as part of a student’s accommodation. There is an honorarium of $75/course/term (with some exceptions). If you are interested, please contact AASC at 494-2836 for more information.

Please note that your classroom may contain specialized accessible furniture and equipment. It is important that these items remain in the classroom, untouched, so that students who require their usage will be able to participate in the class.