Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit

Department of Computer Science

CS 1027B: Computer Science Fundamentals II

Online Section (650)

Summer 2023

Course Outline

Welcome to the class!

1. Course Information

Lecture Schedule

Computer Science CS 1027B 650

Computer Science Fundamentals II

Course Outline - Summer Term 2023

Online Section: All elements of this course section can be completed online, and you will not be required to physically visit the campus for any component of the course if you are enrolled in this section 650 only.

Lectures - asynchronous format:

Most material will be provided in an asynchronous format (readings, videos, labs, etc.)

Students are strongly encouraged to attend at least one of the synchronous TA lab/office hour components of the class  per week to  ask  questions  or seek  clarification,  and  complete  all asynchronous materials and complete the online exercises to prepare for the assignments.

You may need to read ahead in the textbook/resources and review all posted material, as well as consult with the TAs in the live office sessions to complete the assignments or labs.

Lab Schedule

For the online section of the course, the labs will be asynchronous activities, with weekly TA lab/office hours available for consultation.

Prerequisites

CS 1025A/B or CS 1026A/B (ES 1036A/B engineering students), with a mark of at least 65% in either. You cannot do either course concurrently with this course.

Unless you have either the requisites for this course or written special permission from your Dean to enroll in it, you may be removed from this course and it will be deleted from your record.  This decision may not be appealed.  You will receive no adjustment to your fees in the event that you are dropped from a course for failing to have the necessary prerequisites.  For questions about this, contact Science Academic Support and not the instructor.


2. Instructor Information


Instructor: L. Russell

Office: Online

Office Hours: MS Teams/Zoom : Typically Wednesdays at 6pm (email 48h before for a meeting link)

E-Mail: luke.russelluwo.ca

MS Teams is the primary way to connect with the instructor and Tas.

Please contact the instructor via MS Teams Direct message (for personal issues) or use the  Questions and Answers  Channel  on  MS  Teams  for  content-related  questions  that anyone can see and answer, for the most timely responses.

Please only email as a last resort for personal issues, otherwise please ask on MS Teams.

If you must email, please use your Western (@uwo.ca) email addresses when contacting their instructors or TAs. Include the course code (CS1027) in the subject line of emails you send regarding this course, and a meaningful/descriptive subject line.


3. Course Syllabus, Schedule, Delivery Mode


Calendar Description:

A continuation for both Computer Science 1025A/B and Computer Science 1026A/B. Based  on  time  available,  we  will  study  data  organization  and  manipulation,  object- oriented principles, abstract data types and their implementations in Java, lists, stacks, queues, trees, recursion, file and memory organization.

Course Topics

The course will strive to address as many of the following topics as time allows:

Course Learning Outcomes

•    Program in an object-oriented language, namely Java

•   Create classes and use inheritance for creating sub-classes

•    Identify and implement arrays and linked data structures

•    Implement and use abstract data types, i.e. stacks, queues, lists, and trees

•    Debug code and use exceptions to handle bugs gracefully

•    Identify the different parts of memory during the execution of a Java program

•    Program algorithms from pseudo-code

Lecture Topics

•   Object-Oriented Programming

•    Encapsulation, inheritance, abstraction, polymorphism

•    Exceptions and Debugging

•    I/O and Memory Allocation

•   Collections and Generics

•   Arrays

•    Linked Data Structures

•   Stacks

•   Queues

•    Lists

•    Recursion

•    Memory Management

•   Trees

•   Sorting

Key Sessional Dates

Classes begin: Jun 19, 2023

Canada Day: July 1 (no classes)

Classes end: July 28, 2023

Final Exam period: July 31 - Aug 3

Delivery Mode

This course is entirely delivered online. You will not be required to physically attend the campus in this section of the course. Deadlines are the first day 12:01am of the specified module date unless otherwise posted.

Tentative Schedule and Topics:

Module

Dates

Tentative Topics

Readings

Labs

Assignment

Contribution Activities

and Tests

1

Mon Jun 19 - Sun Jun 25

Intro to Course

Installing Java

Object Oriented Programming

Ch 1-5

(Review and Java Syntax) Ch 6 (

Object

Oriented)

Lab 0

Lab 1

Intro Post on MS Teams

(1%)

2

Mon Jun 26 - Sun

Jul 2

(Jul 1 is

Canada

Day, so

no labs

or new

work

assigned

Inheritance

Collections and Generics

Linked Data Structures

Ch 7

(Inheritance) Ch 8

(Generics)

Lab 2

Lab 3

A1 Posted

on this

day,

please

relax!)

3

Mon Jul 3 - Sun Jul 9

Variable Scope

IO (Input/Output)

Exceptions

Debugging

Stacks

Ch 9 (User-

Defined

Methods)

Ch 10 (Input- Output)

Ch 11

(Exceptions) Ch 12

(Sections on Stacks)

Lab 4

Lab 5

A1 Due

A2 Posted

Midterm

Review

Video Due

on MS

Teams (2%) MT

4

Mon Jul 10 - Sun Jul 16

Queues

Lists

Ch 12 (Lists, Stacks, and Queues)

Lab 6

Lab 7

A2 Due

5

Mon Jul 17 - Sun Jul 23

Iterators

Memory

Management

Recursion

Ch 13

(Memory

Management) Ch 14

(Recursion)

Lab 8

A3 Posted

6

Mon Jul 24 – Fri Jul 28

Efficiency

Trees

Sorting

Ch 15

(Searching

and Sorting Algorithms) Ch 16 (Trees)

Optional Lab

9+10

A3 Due

Final Review Video (2%) Zybooks Due (5%)

Final Exam


4. Course Materials


Students are responsible for checking the course OWL site (http://owl.uwo.ca) on a regular basis  for  news  and   updates.     This  is  the   primary  method  by  which  information  will   be disseminated to all students in the class, as well as Microsoft  Teams. All course material will be posted to OWL. The CS  1027B  course  site on OWL  is  labelled  as "COMPSCI  1027B  650 SU23".

Lecture notes, assignments and class information will be posted at this site. You are responsible for checking the course site regularly.

The course will also use Microsoft Teams for some components of the course. Please be sure toinstall MS Teamson your computer (do not rely on the web version).

If you need assistance with the course OWL site, they can seek support on the OWL Help page. Alternatively,  they  can  contact  the  Western  Technology  Services  Helpdesk.     They  can  be contacted by phone at 519-661-3800 or ext. 83800.

Technical Requirements:

•    Internet connection reliable for synchronous components of the course.

•    Ability to connect to lab resources and to run required software

•    Webcam and Mic for interacting in Lab Consultations and Video components

•    Computer that can run Eclipse Java IDE or similar tools presented in class.

Required Material:

Required Textbooks:

Since this  course  is  online,  there  is  a  required  online  textbook  (ZyBooks)  purchase,  which includes interactive diagrams, examples, and quiz questions along with written text. 5% of your overall course grade will come from the completion of the activities in the ZyBooks.

Note that if you took this course previously and subscribed to the ZyBooks at that time, it may be possible that you do not have to pay again! You have to email support@zybooks.comand let them know that you previously paid and wish to subscribe to the new textbook.

Follow these steps to subscribe to the ZyBook now:

1.   Sign in or create an account at https://learn.zybooks.com/

•    Please use your UWO email address to ensure your mark is recorded.

2.   Enter zyBook code

3.   Subscribe

Instructor

section

ZyBook code

Prof. Luke Russell

650

UWOCOMPSCI1027ABSummer2023

Technical Requirements:

•    Internet connection reliable for synchronous components of the course.

•   Ability to connect to lab resources and to run required software (eg, Java and Eclipse, etc)

Course Web Page:

The course website is located within OWL (powered by Sakai). To access the website,  navigate  to http://owl.uwo.ca  and  login  with  your  university  personal computer account (user id and password). Lecture notes, assignments and class information will  be  posted  at  this  site.  You  are  responsible  for  checking  the course site regularly.

The course will also use Microsoft Teams for some components of the course. P