Computer Science,Grade 12th,University Preparation (ICS4U)
-
Name:Computer Science,Grade 12th,University Preparation (ICS4U)
-
Grade:Grade 12th
-
Prereq:Introduction to Computer Science,Grade 11th,University Preparation (ICS3U)
-
Code:ICS4U
-
Type:University Preparation
-
Credit Value:1
-
Develop Date:2021-05-01
-
Course Price:CAD $1300
-
Status:Active
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 analyze 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.
Aims and Objectives:
- Explore the different types of programming languages and their uses.
- Compare the time lines and technologies of different programming languages.
- Demonstrate the ability to use integer division and resultant remainders in computer programs.
- Create an understanding of type conversion (e.g., string-to-integer, character-to-integer, and integer-to-character, floating point-to-integer, casting in an inheritance hierarchy).
- Define the ability to use non-numeric comparisons (e.g., strings, comparable interface) in computer programs.
- Express an understanding of the limitations of finite data representations (e.g., integer bounds, precision of floating-point real numbers, rounding errors) when designing algorithms.
- Demonstrate the ability to read from, and write to, an external file (e.g. text file, binary file, database, XML file) from within a computer program.
- Discuss how linear and binary search algorithms are used to find data in an array.
- Define how subprograms are used to insert and delete array elements.
- Practice sorting algorithms (e.g. bubble, insertion, selection) to sort data in an array.
- Practice algorithms to process element in two-dimensional arrays (e.g., multiply each element by a constant, interchange elements, multiply matrices, process pixels in an image).
- Explore tool used for Project Management (e.g., Gantt chart, PERT chart, calendar) to manage and oversee project components.
- Reflect on, and assess, team and individual progress during the project review.
- Develop the software product according to the project plan (i.e., ensure that the software meets end user needs, functions as intended, and can be produced within quality standards, budget, and timelines).
- Compare the efficiency of linear and binary searches, using run times and computational complexity analysis (e.g., to analyze the number of statements executed, the number of iterations of a loop, or the number of comparisons performed).
- Demonstrate the ability to analyze a precondition (i.e., starting state) and a post-condition (i.e., ending state) in an algorithm.
- Compare the efficiency of sorting algorithms using run times and computational complexity analysis (e.g., to analyze the number of statements executed, the number of iterations of a loop, or the number of comparisons performed).
- Identify common pitfalls in recursive functions (e.g., infinite recursion, exponential growth in recursive algorithms such as Fibonacci numbers).
- Discuss and analyze an ethical issue related to the use of computers (e.g., sharing passwords, music and video file downloading, software piracy, keystroke logging, phishing, cyber bullying).
- Discuss the impact of a variety of emerging technologies on various members of society and on societies and cultures around the world and on the economy.
Expectations:
- Java:
By the end of this course, student will:
- Demonstrate good knowledge about programming languages.
- Show ability to be able to install the JAVA JDK and Integrate the Eclipse IDE to create a programmable workspace for development.
- Express skill in the use of several Purpose based libraries.
- Express the skill of Graphical User Interface to create a user friendly interface for code snippets.
- Programming Fundamentals:
By the end of this course, student will:
- Exhibit coding principles: Syntax, Code control flow, Main function etc.
- Demonstrate good working ability with data types and control structures.
- Create algorithms to sort and search data.
- Create, Initialize, declare and manipulate one dimensional Array.
- Data Structures
By the end of this course, student will:
- Learn strategies to store data in a useful manner using many data structures.
- Differentiate between each data structure according to the scenario presented.
- Advanced Programming
By the end of this course, student will:
- Demonstrate the ability to use different data types and expressions when creating computer programs.
- Describe and 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.
- Deal with repeating problems and finding patterns in a problem provided.
- Software Development
By the end of this course, student will:
- Demonstrate the ability to 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.
- Object Oriented Programming
By the end of this course, student will:
- Demonstrate the ability to apply modular design concepts in computer programs.
- Analyze algorithms for their effectiveness in solving a problem.
- Topics in Computer Science
By the end of this course, student will:
- Explore the field Computer Networks and how it allows various computer systems from around the world to be synchronized and in order.
- Learn how to store data to avoid real-world complications and exceptional cases.
- Investigate the inside world of a computer and how it manages all the operations of the system without mixing things up.
Unit-wise Progression:
Unit
|
Title and Subtopics |
Unit 1 |
Java
-Hours: 12 |
Unit 2 |
Programming Fundamentals
- Hours: 16 |
Unit 3 |
Data Structures
- Hours: 13 |
Mid-Term - Hours: 2 |
|
Unit 4 |
Advanced Programming
- Hours: 13 |
Unit 5 |
Software Development
- Hours: 12 |
Unit 6 |
Object Oriented Programming
- Hours: 20 |
Unit 7 |
Advanced Topics in Computer Science
- Hours: 8 |
Culminating Activity – 11 Hours |
|
Final Term – 3 Hours |
|
Total – Hours 110 |
Teaching/Learning Methodologies:
The course has been devised to cater the IT skills regarding development of software applications that cater to the needs of different user requirements. The methodological approach of its design is student concentric in a way to prove tool documentation to understand configurationally technicalities. Students will be offered a robust repository of online video lectures to help back with reinforcement of the concepts covered in the lessons. Tools will be practiced in a way that learners will experience skill growth in terms of industry based standards such as producing well documented code, work in a concise manner dictated by the SDLC phase and work flow. The mentor allocated will provide skeletal files and help drafts for the student to work on projects for their course progression. A good habit that will be enforced is the documentation of each code snippet to help keep progress traceable and readable.
A few of the things students will be provided are the following:
- Lesson plans
- PowerPoint presentations
- Videos
- Reading Packs
- Assignment for Learning
- Assessment of Learning
- Quiz
All of these are a cluster of downloadable and embedded files that will be provided to each candidate with the progression of the course.
E-Learning Approach:
E-learning is not only a training method but it is a learning method that is tailored to individuals. It is found that different terminologies have been used to define learning that takes place online which actually makes difficult to develop a generic definition.
E-learning includes the delivery of content via Internet, Intranet, and Extranet, satellite broadcast, audio-video tape, interactive TV and CD-ROM. The term implies that the learner is at a distance from the tutor or instructor, that the learner uses some form of technology.
With attention to this new system of education that is spreading across the globe it’s imperative that the content of such study programs are enhanced and modified to serve both the learner and the instructor well whilst dealing with the gap of conventional studying methodologies. Thus the courses promise its reader an experience full of engagement, student-concentric approach, personalization and Interaction. Using a wide array of multimedia tools, cloud based LMS and diverse repository of subject tailored audio-visual material that student can utilize and learn in a stimulated work environment where he’s in charge of his work hours.
Our e-learners paddle through these courses in the mediation of skilled mentors to the finish line with understanding of their subject’s application into real world problems following a futuristic model of education.
Strategies for Assessment and Evaluation of Student Performance:
Assessment is the ongoing gathering of information related to the individual student’s progress in achieving the curriculum expectations of the course. To guide the student to his/her optimum level of achievement, the teacher provides consistent and detailed feedback and guidance leading to improvement. Strategies may include:
- Diagnostic assessment
- Formative assessment
- Summative assessment
- Performance assessment
- Portfolio assessment
- Rubrics
- Checklists
The final grade will be based on:
Weightage in Percentage
|
Categorical Marking Breakdown |
35% |
Course Work |
20% |
Mid Term |
15% |
Culminating Activity |
30% |
Final Exam |
Assessment of Learning
|
||
Student Product |
Observation |
Conversation |
Learning Logs (anecdotal) Assignment Pre-tests (scale/rubric) Quizzes (scale/rubric) Rough drafts (rubric) Graphic organizers (scale) Peer feedback (anecdotal/checklist) Reports (rubric) Essays (rubric) Webbing/Mapping (rubric/scale) Vocabulary notebooks (anecdotal) Visual Thinking Networks (rubric) Tests (scale/rubric) Exams
|
Self-proofreading (checklist) Class discussions (anecdotal) Debate (rubric) PowerPoint presentations (rubric) Performance tasks (anecdotal/scale)
|
Student teacher conferences (checklist) Debate (rubric) Peer-feedback (anecdotal) Peer-editing (anecdotal) Oral pre-tests (scale/rubric) Oral quizzes (scale/rubric) Oral tests (scale/rubric) Question and Answer Session (checklist)
|
Resources Required by the Student:
- Microsoft Suite (Word, Excel, Power-point etc.)
- A laptop, or Mac, or Android, or any other operating system functional enough to use the web browser and use online software’s.
- Headphones
- Eclipse IDE: https://www.eclipse.org/ide/
- JAVA – JDK download for your supported OS : https://www.oracle.com/java/technologies/javase-downloads.html
- Curriculum Reference: The Ontario Curriculum, Computer Studies