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
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 |
|
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
2023-07-11