Comp 170 – Introduction to Object Oriented Programming 1 Course Logistics and Sakai • This course is organized into 1, 2, or 3 sessions per week, with associated weekly slides & videos – In-class lectures will be short, with most time for Labs • There is a separate folder for each Chapter of the textbook in the Resources area of Sakai – These folders contain pre-class and in-class lecture slides plus Lab, video links, and other course material – There are also Weekly Lessons that tie the textbook chapters to specific weeks in the course • There will be Sakai Assignments to Submit homework as well as Lab exercises; all of them will have due dates and assigned points – There may be additional extra credit assignments 2 Course Logistics and Sakai • General Resources and Pre-class Material folders are also available in Sakai Resources – For example, there’s a General Resources document about moving from Python to Java if you know Python • Other useful Sakai COMP 170 course areas – There is a Syllabus area with the course syllabus and preliminary course schedule – There is a Panopto area that includes video recordings to watch before the weekly classes; links to Pearson textbook “VideoNotes” are in each per-chapter folder – Finally, there is a combined 170 Sakai forum where you can ask questions or provide useful information • We will use Zoom software for online class sessions or to provide online office hours 3 Course Logistics – Course Slides & Videos • This class has textbook and course lecture slides on Sakai plus corresponding video lectures provided as textbook “VideoNotes” and per-chapter Panopto videos – you will need to review those before each class session; there may also be in-class lecture slides that we will go over each class day • Here are the 170 weekly class schedules for Fall 2023: – Tuesday-Thursday: 170-001, 170-003 – Monday-Wednesday-Friday: 170-002 – 8-week online only, days TBD: 170-700 • Weekly class schedules for future semesters will be provided 4 Course Logistics – Sakai Forum and VM • Instructor information is listed on Sakai – use the Sakai Forum to ask questions or raise issues – TA information will be listed on the Sakai Home page • You will be using a Windows “Virtual Machine”, or VM; that is, a per-student Windows machine that you connect to using your web browser from any PC – your laptop/desktop or any on-campus PC – Your VM comes with course software already installed – Connect to your VM at URL https://perlis.cs.luc.edu using your Loyola userid and password pxxxxx, where xxxxx is the last 5 digits of your student ID # – Use Windows VM login id cs with password Cs4luc There is a Panopto video about using Sakai and the VM. 5 Course Textbook – 1 • We will use Building Java Programs A Back to Basics Approach, 5th Edition, by Stuart Reges and Marty Stepp, as the primary course textbook – Note that this textbook will also be used for the follow-on CS course, COMP 271, Data Structures I • There are some alternative versions of this textbook that you can use (see the following slide for how to purchase these versions) – We’ve listed the alternatives from least expensive to most expensive – You may be able to purchase a used copy of the textbook from the Loyola bookstore, since this textbook has been used for several years now 6 Course Textbook – 2 • Rent the textbook for one semester (suitable for COMP 170 or COMP 271 independently) – From Amazon as a physical textbook - cost $35.23, at this website: https://www.amazon.com/dp/013547194X/ref=olp_aod_redir_impl1?_encoding= UTF8&aod=1 – From a site called VitalSource as an electronic textbook (advantage: instant access) - cost $44.99, at this website: https://www.vitalsource.com/products/building-java-programs-stuart-regesmarty-stepp-v9780135472361 – From a site called RedShelf as an electronic textbook for the same price here: https://redshelf.com/book/1104959/building-java-programs-11049599780135472361-stuart-reges-marty-stepp Note: the “lifetime access” options below are cheaper than purchasing two single semester accesses if you plan to use the textbook for both 170 and 271 • Get lifetime access to the textbook (helpful if you plan on taking COMP 170 followed by COMP 271): – From VitalSource or RedShelf as lifetime access to the electronic textbook cost $74.99 at either of the websites above – From Amazon as a physical textbook - cost $126.61 at this website: Building Java Programs: A Back to Basics Approach: Reges, Stuart, Stepp, Marty: 9780135471944: Amazon.com: Books 7 Course Logistics – Code Step by Step In addition to the course textbook there are exercises that you will do in a required online tool called CodeStepByStep (Code SxS); here are instructions for how to connect to that tool before the course starts: • Your instructor will auto-enroll you in the tool and provide you with an initial password you will use along with your Loyola UVID to access Code SxS - please change that password the first time you enter the tool by going to https://www.codestepbystep.com/. • Note that using Code SxS is required for COMP 170, and enrollment by your instructor is "opt-out" only - if you do not want to be auto-enrolled by your instructor then choose another class instead of COMP 170. 8 Preliminary Course Schedule (Fall 2023) • We will cover about one Chapter of the BJP textbook each week or two through Chapter 8 and associated activities and exercises; there will also be a team-based class project starting in Weeks 10 and 11. This schedule is also in the Sakai Syllabus folder. – – – – – – – – – – – – – – – – – Pre-class – Course Overview, Software Setup, Student Surveys Week 1 – Chapter 1A, 1.1-1.3: Introduction – Programming and Java Week 2 – Chapter 1B, 1.4-1.5: Algorithms and Static Methods – Monday is Labor Day, no class Week 3 – Chapter 2A, 2.1-2.2: Basic Data Concepts, Variables Week 4 – Chapter 2B, 2.3-2.5: The for Loop, Managing Complexity, Case Study Week 5 – Chapter 3A, 3.1-3.2: Introduction to Parameters and Return Values Week 6 – Chapter 3B, 3.3: Objects & Classes and Strings, Scanner170 for Input, Array Basics; Review of topics, Exam 1 (thru 3A) Week 7 – Chapter 4A, 4.1-4.2: Conditional Execution: if/else, Cumulative Algorithms – mid-Semester Break at the beginning of Week 7 Week 8 – Chapter 4B, 4.3-4.4: Text Processing, Methods with Conditional Execution Week 9 – Chapter 5A, 5.1-5.3: while Loop, Files & Arrays, Fencepost Algorithms, boolean Type Week 10 – Chapter 5B, 5.4-5.6:User Errors, Assertions and Program Logic; Final Project Proposal Week 11 – Review of topics to date, Exam 2 (through 5B); Project Work Week 12 – Chapter 6, 6.1-6.4: File-Reading, Token- & Line-Based Processing, File Output; Project Week 13 – Chapter 7, 7.1-7.3: Array Basics, Traversal Algorithms, Reference Semantics; Project Thanksgiving Week for Fall 2023 – no classes Wednesday through Saturday Week 14 – Chapter 8A, 8.1-8.3: OO Programming, Object State & Behavior, Constructors; Project Week 15 – Final Project Work and Presentations, Final Exam review 9 Week 16 – Final Exam