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

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

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 emailsupport@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 athttps://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.caand  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. Please be sure to install MS Teams on your computer (do not rely on the web version).

Course Information

Emergencies and Extenuating Circumstances

Everyone  experiences  challenges.  If you  have  an  emergency  or extenuating circumstance  and  are  unable to  complete  a  requirement,  please  discuss the situation with the instructor.

Helping peers on MS Teams:

Computer scientists often work in teams throughout our careers, and this work is more and more asynchronous in nature. To facilitate this, please ask technical questions in the MS Teams “Technical help-Questions” channel on MS Teams.

Please help your peers by replying to this channel and helping your peers. Actively helping peers is accounted in the contribution category of your grade, and may also be used to “round up” your final grade.

Class Conduct

•   It is expected that students behave in a professional manner, and unacceptable or unsafe conduct will not be tolerated. Out of respect for all course participants, please  refrain  from  recording  videos  or  audio,  using  SnapChat,  Instagram Stories, E-mail, WhatsApp etc, or in any other medium. Even if it is to share every exciting moment of the class :)

Generative AI Tools in the Class

This course focuses on the development of coding and problem solving strategy, and there may be areas where use of Generative AI (such as ChatGPT and similar tools) may enhance the educational experience. Students may be able to utilize Generative AI tools for some of these tasks, only if explicitly announced by the instructor.

However,  it  is  important  to  note  that  using  Generative  AI  to  write  entire assignments, reports, code, test answers, or other major assignments for this course without explicit permission will not permitted, and will diminish the critical thinking skills that are a learning outcome. Students are expected to understand and abide by the principles of academic integrity when using these tools.

Course Recordings:

•   Portions of this class may be recorded by the instructor for educational purposes. These  recordings  may  be  shared  with  students  enrolled  in  the  course,  if applicable.   Students   are   not   to   initiate   course   recordings   without   prior permission.

Unauthorized Recordings/Distribution:

•   Unauthorized  student  recording  of  classroom  or  other  academic  activities (including advising sessions or office hours) is prohibited. Unauthorized recording is unethical and may also be a violation of University policy. Students requesting the  use  of  assistive  technology  as  an  accommodation  should  contact  the Accessibility  Centre.  Unauthorized  use  of  classroom  recordings  –  including distributing or posting them – is also prohibited.

•   Under  the   University’s Copyright   Policy,   instructors   own   the   copyright  to instructional  materials –  including those  resources created specifically for the purposes   of   instruction,   such   as   lectures   slides,   lecture   notes,   and presentations.

•   Students  cannot  copy,  reproduce,  display,  or  distribute  these  materials  or otherwise circulate these materials without the instructor’s written permission.

•   Students  who  engage   in   unauthorized   recording,   unauthorized   use  of  a recording, or unauthorized distribution of instructional materials will be reported to the appropriate University office.

Help/TAs:

Questions  regarding assignments or  lecture  materials can  be directed to a  peer, or Teaching Assistant (TA) through the “Technical Help-Questions” . Questions requiring further information can be dealt with by contacting the course instructor. Peers may help you faster than the TA or instructor can get to it!

A list of teaching assistants and their contact information will be posted to OWL once available.

Time zone and Scheduling of Course Components:

All times listed in this document, Microsoft Teams, and on the OWL course site are assumed to be in Eastern Time (the local time of the Western University campus) unless otherwise stated.  Lectures, quizzes,  meetings, and  exams will  be scheduled for the Eastern Time Zone.

Students must ensure they are available during these times even if they are located outside of Ontario. No alterative deadlines, quiz dates/times, or exam dates/times will be offered for students outside of the Eastern Time Zone.

5. Methods of Evaluation

Evaluation:

The overall course grade will be calculated as listed below. Description provided for interest. Final details will be posted to course OWL page.

This course is a compressed summer course, so deadlines may seem a bit tight.

Description provided for interest. Final version will be posted to course Owl page.

If for any reason the assignment, lab, or exercise schedule or frequency cannot be adhered to, the marks will be prorated , or if necessary, added to the final exam.

Assignments

There are 3 assignments that require you to apply the topics you learned from the lectures and/or labs within implement Java programs.

All assignments are due via Gradescope at  11:55  PM  EST on the due date  unless stated otherwise. If an assignment must be cancelled by the instructors for any reason, the remaining assignments will be re-weighted to add up to 32%.

Late Policy on Assignments

If you submit an assignment late, there will be a late penalty of 10% per day. If you have a valid reason for a late submission, please contact your academic counsellor.

Assignments can be submitted up to 3 days late. Assignments will not be accepted more than 3 days after the due date and will be graded as 0.

Re-submissions are allowed and the latest submission is considered the final submission. Note that re-submissions after the deadline will be considered late, regardless of when the initial submission was made.

Assignments will be submitted through Gradescope (not OWL) unless otherwise stated. You have free access to Gradescope as a Western student. Steps to submit on Gradescope will be explained  in  more detail  closer to the deadline of the first assignment. We will  not accept assignments submitted via email or any other format.

A portion of each assignment's grade will come from auto-graded tests and the rest will come from programming style, formatting, logic, comments, etc. Some of the tests will be provided but note that additional tests may be run that are hidden from you, so you should create your own additional tests to ensure your code works  properly  in all cases .  It  is your responsibility to ensure the tests run and pass on Gradescope in order to get full marks (if the tests pass on your local machine but not on Gradescope, you will not get those marks).

Assignments are to be done individually, not  in groups. The submitted code will be run through a similarity-checking software to look for cheating. Do not copy or share code in any way.

Tentative Assignment Due Dates

Assignment 1

Jul 3

Assignment 2

Jul 10

Assignment 3

Jul 24

Labs

Lab instructions will be available on the course website at the start of each lab window.

•    There are 8 labs which should each take 1 hour or less to complete.

•    The labs begin Module 1, the Week of Jun 19

In the online section, labs are completed as homework exercises. However, you are strongly encouraged to attend at least 1 TA lab/office hour per week to discuss the labs, assignments, and get help.

•    Lab details are posted at least 2 days before the deadline, as posted on OWL, and are completed on your own (or with assistance of TAs)

•    Each completed lab (#1-8) is worth 1% of your final grade, and Lab 9 and 10 are not marked but should be completed.

•    To receive credit for a lab, you must submit your lab on OWL during the lab completion time.

•    The labs are generally pass/fail; however, you could get a partial mark if you missed a significant portion of the required work.

•    If  you   miss   a   lab,   you   should&nb