Course Syllabi

  • CSC405 Syllabus

    The course requires students to attend at 12 seminars hosted by the Department of Computer Science. The topics of the seminars vary, depending on the speakers. By attending these seminars students are exposed to, and learn about (at least the existence of) a broad range of topics in Computer Science research and application.

    Organization

    The Department of Computer Science hosts seminars, typically one per week at a regularly scheduled time, but sometimes more. Students are required to attend 12 seminars in the semester. Attendance at the seminars will be recorded. (In the very unlikely event that less than 12 seminars are presented, students are excused from the 12 seminar requirement.) For at least 5 of the seminars the students must write a reports as specified by the instructor, explaining what they learnt from the seminar, and commenting on the presentation and content of the seminar. Students may complete further reports, and the satisfactory completion of reports totalling at least 4000 words will earn a student a writing credit.

    Seminar Reports

    Each report must have:

    • An introduction, providing: information about the speaker; the title of the seminar; the place, date, and time of the seminar; and the general topic of the seminar.
    • A body of one or more paragraphs, explaining the content of the seminar. This cannot be simple regurgitation of the seminar content - it must demonstrate understanding of the seminar.
    • A conclusion, summarizing the seminar in terms of the overall message, possible future work, and how the material fits into the world of Computer Science.

    Each seminar report must be submitted to the instructor. You will receive feedback and the opportunity to improve the report for a final submission.

    Assessment

    • Attendance at the seminars- 50%
    • The best five reports - 50%

  • CSC410 Syllabus

    This course guides students through the planning of a computing project. It is expected that every project plan will include some of the following:

    • problem analysis
      Understand and precisely document the problem to be solved, and obtain agreement from the client. Determine inputs, outputs, and assumptions. Establish the expected nature of the solution in terms of software and hardware.
    • software and hardware design
      Use formal practices to design and document a solution in terms of software and hardware. Note what solution components can be purchased "off the shelf", and what components will require development. Produce structural design documentation.
    • algorithm and data structure selection
      Decide on specific algorithms and data structures to be used in the implementation of the software design. Produce detailed software design documentation.
    • user interface design
      Use HCI principles and prototyping to design an appropriate user interface. Take into consideration deployment flexibility and needs. Produce user interface design documentation.
    • verification and validation
      Use software engineering practices to design a detailed software verification and validation plan. Define normal, boundary, illegal test cases. Ensure complete code coverage. Produce a verification and validation documentation.
    • prototyping
      Optionally, implement a protoptype of the software, to present to the user, and verify functionality requirements and the user interface.

    Organization

    The project must have faculty member who has agreed to be the project supervisor. This faculty member may be different from the course instructor. The student and project supervisor must meet at the start of the course to agree upon:

    • The nature of the project. This should be reasonably detailed, to ensure that both the project supervisor and the student understand their working relationship.
    • The number of hours the student will work, and a schedule for those hours. Normally one credit will correspond to 50 hours of work.
    • The deliverable documentation from the planning.

    The student must write a "project proposal" of approximately 400 words to document these points. The project supervisor must approve the proposal, to ensure that the project has appropriate Computer Science content, and that the implementation will produce a useful result. The project must be substantially different from any previous project completed. The project supervisor and the course instructor will review the proposal, and return it with feedback for improvement. The final proposal (for grade) must be submitted after that, taking the feedback into account.

    The design document may be written in any appropriate form, including prose, structure charts, algorithms, UML diagrams, use cases, etc. The total design is expected to be approximately 1200 words per credit. Draft designs must be submitted during the semester. The project supervisor and the course instructor will review the designs, and return them with feedback for improvement. The improved draft designs and the final design (for grade) must be submitted after that, taking the feedback into account.

    At the end of the project the student must give a 20 minute presentation on the design.

    All documents and presentation slides must be emailed to the project supervisor and the course instructor in PDF form. At the end of the project, a copy of all deliverables must be emailed to the project supervisor and the course instructor. All documents and deliverables will be added to the department's project archive. The project supervisor will evaluate the student's performance. No grade will be approved without the documentation, slides, and deliverables. A writing credit will be given for satisfactory completion of 3 credits of CSC410.

  • CSC411 Syllabus

    This course guides students through the implementation of a computing project. In some cases the course may include the planning of the project. It is expected that every project implementation will include some of the following:

    • software implementation
      Use programming and other software development skills to translate a software design into a working system. Do testing and quality control.
    • hardware installation
      Purchase and install hardware. Test installation to ensure it meets the requirements of the proposed software solution.
    • software management
      Install and management software components, including purchased components and developed components. Install mechanisms for software upgrades and maintenance.
    • documentation
      Write system and user documentation for hardware and software. Produce online documentation and man pages.
    • user support
      Prepare and provide user support for hardware and software. Install and use help desk systems. Provide training sessions for users.

    Organization

    The project must have faculty member who has agreed to be the project supervisor. This faculty member may be different from the course instructor. The student and project supervisor must meet at the start of the course to agree upon:

    • The nature of the project. This should be reasonable detailed, to ensure that both the project supervisor and the student understand their working relationship.
    • The number of hours the student will work, and a schedule for those hours. Normally one credit will correspond to 50 hours of work.
    • The deliverable code and documentation from the implementation.

    The student must write a "project proposal" of approximately 400 words to document these points. The project supervisor must approve the proposal, to ensure that the project has appropriate Computer Science content, and that the implementation will produce a useful result. The project must be substantially different from any previous project completed. The project supervisor and the course instructor will review the proposal, and return it with feedback for improvement. The final proposal (for grade) must be submitted after that, taking the feedback into account.

    If the project includes planning of the project, a project design must be submitted. The design document may be written in any appropriate form, including prose, structure charts, algorithms, UML diagrams, use cases, etc. The total design is expected to be approximately 1200 words. The project supervisor and the course instructor will review the design, and return it with feedback for improvement. The improved final design (for grade) must be submitted after that, taking the feedback into account.

    At the end of the project the student must give a 20 minute presentation on the design.

    All documents and presentation slides must be emailed to the project supervisor and the course instructor in PDF form. At the end of the project, a copy of all deliverables must be emailed to the project supervisor and the course instructor. All documents and deliverables will be added to the department's project archive. The project supervisor will evaluate the student's performance. No grade will be approved without the documentation, slides, and deliverables.

  • CSC412 Syllabus

    This course monitors students doing an internship. The exact nature of the course will be dependent on the nature of the internship and the requirements of the host company. It is expected that every internship will include some of the following:

    • interaction with clients
      Meeting clients to determine their needs, establish resources they have and can expend on a solution, decide on a time line for solution, determine their in-house capabilities, profile the system users.
    • problem analysis
      Understand and precisely document the problem to be solved, and obtain agreement from the client. Determine inputs, outputs, and assumptions. Establish the expected nature of the solution in terms of software and hardware.
    • software and hardware design
      Use formal practices to design and document a solution in terms of software and hardware. Note what solution components can be purchased "off the shelf", and what components will require development. Produce design documentation.
    • software implementation
      Use programming and other software development skills to translate a software design into a working system. Do testing and quality control.
    • hardware installation
      Purchase and install hardware. Test installation to ensure it meets the requirements of the proposed software solution.
    • software management
      Install and management software components, including purchased components and developed components. Install mechanisms for software upgrades and maintenance.
    • documentation
      Write system and user documentation for hardware and software. Produce online documentation and man pages.
    • user support
      Prepare and provide user support for hardware and software. Install and use help desk systems. Provide training sessions for users.

    Organization

    The internship must have faculty member who has agreed to be the internship supervisor. The internship will normally be arranged by the student, who must establish the contact with the host company, determine the nature and extent of the internship, and arrange a contact person from the host company. The student, internship supervisor, and contact person at the host company must agree upon:

    • The nature of the task(s) to be performed. This should be reasonable detailed, to ensure that both the host company and the student understand their working relationship.
    • The number of hours the student will work, and a schedule for those hours. Normally one credit will correspond to 50 hours of internship.
    • The deliverables of the internship, beyond the required academic output described below, that will contribute to the activities of the host company.

    The student must write an "internship proposal" of approximately 400 words to document these points. The internship supervisor and course instructor must approve the proposal, to ensure that the internship has appropriate Computer Science content, and that the student will gain sufficient experience and knowledge from the time spent. The internship must be substantially different from any previous internship completed. The internship supervisor, contact person, and the course instructor will review the proposal, and return it with feedback for improvement. The final proposal (for grade) must be submitted after that, taking the feedback into account.

    At the end of the internship a report must be submitted. The report is expected to be approximately 1200 words. The internship supervisor, contact person, and the course instructor will review the report, and return it with feedback for improvement. The improved final report (for grade) must be submitted after that, taking the feedback into account.

    At the end of the internship the student must give a 20 minute presentation on the design.

    All documents and presentation slides must be emailed to the project supervisor and the course instructor in PDF form. At the end of the internship, a copy of all deliverables must be emailed to the project supervisor and the course instructor. All documents and deliverables will be added to the department's project archive. The internship supervisor and contact person will evaluate the student's performance. No grade will be approved without the documentation, slides, and deliverables.

  • CSC481 Process

    CSC481 Process

    1. The student and the instructor of the target course must agree that the student will work as a UG TA. This may be initiated by the student (who approaches the instructor), or the instructor (who recruits the student).
    2. The student can then enroll, for one credit per 3 hours to be worked per week, with permission of the instructor.
    3. The student must have an "A" grade in the target course.
    4. The instructor is responsible for training and guiding the student.
    5. The instructor must decide what work (3 hours per week per credit) the student will do. Options include ...
      • Working in a formal lab section assisting the TA. In this case the student is normally given the same treatment as the TA.
      • Having lab hours to help students. In this case the instructor must provide the necessary guidance and training.
      Options may not include ...
      • Grading
      • Independent responsibility for a lab section.
      • Teaching in the lab.