CS 1027B: Computer Science Fundamentals II Summer 2023
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.russell
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
2023-08-03