Welcome to ICS3UI

Welcome to Introduction to Computer Science - ICS3UI!

In this course, students will learn computer programming to creatively solve various problems. Student will learn how to analyze a problem, develop a plan to solve that problem, program the solution, and finally verify that their solution is correct. They will also use proper software development practices while completing their solutions.

Topics Include:

  • Basic Input and Output
  • Constants and Variables
  • Conditions
  • Repetition
  • Methods
  • Arrays
  • Graphical User Interface
  • Error Checking
  • Debugging and Testing
  • Software Development and Problem Solving
  • Pseudocode and Flowcharts

In this course, students will learn to program Java using the online platform Repl.it. This allows students to program without having to install any software and on almost any device that can connect to the internet.

Essential Learnings:

Course credit is earned upon successful demonstration of essential learnings, which are derived from the Ministry of Education course strands and overall expectations. Final marks are calculated based on the teacher’s assessment, evaluation and professional judgment as these relate to the body of evidence produced by the student. A passing mark on the final exam and/or course culminating activities does not guarantee a passing mark for that course. For this reason, it is of utmost importance that students complete and submit all work that is to be assessed and/or evaluated.

Programming Concepts and Skills

  • use different data types, including one-dimensional arrays, in computer programs
  • use control structures and simple algorithms in computer programs
  • use subprograms within computer programs
  • use proper code maintenance techniques and conventions when creating computer programs

Software Development

  • use a variety of problem-solving strategies to solve different types of problems independently and as part of a team
  • design software solutions to meet a variety of challenges
  • design algorithms according to specifications
  • apply a software development life-cycle model to a software development project

Computer Environment and Systems

  • relate the specifications of computer components to user requirements
  • demonstrate an understanding of the software development process