Teacher: Mr. A. Lamont
Email: adam_lamont@wrdsb.ca
Room: 2703
Prerequisite: ICS 3UI

Course Description

This course enables students to further develop knowledge and skills in computer science. Students will use modular design principles to create complex and fully documented programs, according to industry standards. Student teams will manage a large software development project, from planning through to project review. Students will also analyse algorithms for effectiveness. They will investigate ethical issues in computing and further explore environmental issues, emerging technologies, areas of research in computer science, and careers in the field.

Course Expectations

  1. Programming Concepts and Skills
    • use different data types and expressions when creating computer programs
    • use modular programming concepts and principles in the creation of computer programs
    • design and write algorithms and subprograms to solve a variety of problems
    • use proper code maintenance techniques when creating computer programs
  2. Software Development
    • manage the software development process effectively, through all of its stages – planning, development, production, and closing
    • apply standard project management techniques in the context of a student-managed team project
  3. Designing Modular Programs
    • apply modular design concepts in computer programs
    • analyse algorithms for their effectiveness in solving a problem
  4. Topics in Computer Science
    • assess strategies and initiatives that promote environmental stewardship with respect to the use of computers and related technologies
    • analyse ethical issues and propose strategies to encourage ethical practices related to the use of computers
    • analyse the impact of emerging computer technologies on society and the economy
    • research and report on different areas of research in computer science, and careers related to computer science

Students will be provided with practice problems throughout the course. It is critical that students complete all of these practice problems because, although their assignments are based on them, assignments cannot delve into every detail or circumstance of the concepts studied. Homework is simply checked by periodically having practice problems submitted through GitHub.

Periodic tests examine both programming and other topics covered in the course. Tests include both written and hands-on components. Dates for tests will be announces several days in advance. In the event that you should miss a test for a valid reason, please expect to complete the test as soon as your return to school. Please see Mr. Lamont if you know in advance of an absence ort make other arrangements.

Some elements of the course will require you to work as part of a team.

MSIP is a integral component of this course. Students can expect that the teacher has designed this course to reflect the fact that course- specific student learning will take place during both class and MSIP time. As such, students are required to:

  • Attend MSIP every day to meet the essential learning requirements of the course.
  • Effectively use MSIP to complete course work. Effective uses of MSIP time may include: completing homework, working collaboratively, studying for tests or exams, working ahead on course projects or assigned readings, travelling to meet with teachers for extra help, or other activities as determined by the assigning teacher.

Also, use your MSIP period as an opportunity to travel to a computer lab to stay caught up with your work. There are also computers available at lunch for this purpose in the Library. Please see Mr. Lamont EARLY if you are in need of extra help.

Course Evaluation

  • 70% of the final grade will be based on evaluation conducted throughout the course : teacher observations, teacher-student conversations, and student products.
  • 30% of the final grade will be based on a final project that allows students to demonstrate comprehensive achievement of the course overall expectations