A foundational course for the study of computer science and information systems. The course covers an overview of object-oriented programming methodology and gives the student an ability to write computer programs using standard style and structure. Programming projects are completed in one or more high-level languages.
The goal of this course is to increase your proficiency in computer programming and problem solving necessary for a degree and career in the fields of computer science and information systems. To achieve this goal, you will learn advanced techniques in problem solving using the Java programming language. You will develop algorithms and design programs using object-oriented techniques.
This course assumes a solid mastery of the material covered in CSIS 201 (or the programming concepts in ENGR 152). This course requires significantly more time and effort than CSIS 201—do not fall behind.
The course will include regular homework and/or programming assignments. There will be no credit given for late assignments (without an excused absence)—turn in as much as you can. Unless otherwise specified, no handwritten work will be accepted.
Reading should be completed before the lecture covering the material per the provided schedule. Not all reading material will be covered in the lectures, but you will be responsible for the material on homework and exams. Quizzes over the assigned reading may be given at any time.
See the GFU CS/IS/Cyber policies for collaboration and discussion of collaboration and academic integrity. See also the university's policy on the use of generative AI and related tools in an academic setting. Most students would be surprised at how easy it is to detect collaboration or other academic integrity violations such as plagiarism in programming—please do not test us! Remember: you always have willing and legal collaborators in the faculty. We encourage you to ask questions in class, ask for help in the CS lab, use the class mailing list, and visit office hours for assistance.
Unless otherwise specified (e.g., for a group assignment or project), you are expected to do your own work. This also applies to the use of online resources (e.g., solution guides), help forums (e.g., StackOverflow), and generative models (e.g., ChatGPT). Put simply: if you are representing someone (or something) else's work as your own, you are being dishonest. Any suspected incidents of academic integrity violations will be investigated and reported to the Academic Affairs Office as they arise.
Almost all of life is filled with collaboration (i.e., people working together). Yet in our academic system, we artificially limit collaboration. These limits are designed to force you to learn fundamental principles and build specific skills. It is very artificial, and you'll find that collaboration is a valuable skill in the working world. While some of you may be tempted to collaborate too much, others will collaborate too little. When appropriate, it's a good idea to make use of others—the purpose here is to learn. Be sure to make the most of this opportunity but do it earnestly and with integrity.
If you have specific physical, psychiatric, or learning disabilities and require accommodations, please contact Disability & Accessibility Services (DAS) as early as possible so that your learning needs can be appropriately met. For more information, go to georgefox.edu/das or contact das@georgefox.edu.
My desire as a professor is for this course to be welcoming to, accessible to, and usable by everyone, including students who are English-language learners, have a variety of learning styles, have disabilities, or are new to online learning systems. Be sure to let me know immediately if you encounter a required element or resource in the course that is not accessible to you. Also, let me know of changes I can make to the course so that it is more welcoming to, accessible to, or usable by students who take this course in the future.
The Academic Resource Center (ARC) on the Newberg campus provides all undergraduate students with free writing consultation, academic coaching, and learning strategy review (e.g., techniques to improve reading, note-taking, study, time management). The ARC offers in-person appointments; if necessary, Zoom appointments can be arranged by request. The ARC, located on the first floor of the Murdock Library, is open during the academic year from 1:00–9:00 p.m., Monday through Thursday, and 12:00–4:00 p.m. on Friday. To schedule an appointment, click on the TracCloud icon on the Canvas dashboard, go to traccloud.georgefox.edu, call 503-554-2327, email the_arc@georgefox.edu, or stop by the ARC. Visit arc.georgefox.edu for information about ARC Consultants' areas of study, instructions for scheduling an appointment, learning tips, and a list of other tutoring options on campus.
George Fox University uses a robust referral and support system, Fox360, to learn about students who are experiencing various student success concerns. Students who are referred by a professor, other employee, or fellow student will be contacted by a member of our Student Support Network to explore the student's situation, develop a plan, and connect with relevant campus resources. GFU community members who have a concern about a student's well-being can submit an alert by going to fox360.georgefox.edu. Our goal is to provide 360° care for students as they navigate their college experience. For more information see ssn.georgefox.edu or contact Rick Muthiah, Director of Learning Support Services.
Please review the entirety of the university's official COVID-19 web page for the most up-to-date community guidance.
The final course grade will be based on:
Graded course activities will be posted to Canvas. Take care to read the specifications carefully and proceed as directed. Failure to pay attention to detail will often result in few to zero points being awarded on a given activity.
Grades will be updated as often as possible; you are encouraged to use the "What-If" functionality to calculate your total grade by entering hypothetical scores for various items.Note that some graded activities in this course will be submitted via GitLab.
Week 1 · 1/10Introduction
Reading: Ch. 1.1–1.6 |
Week 1 · 1/12Problem Solving
Reading: Ch. 1.7 |
Week 1 · 1/14Version Control
Reading: Git Handbook |
Week 2 · 1/17Martin Luther King Jr. Day—no classes
|
Week 2 · 1/19Java Classes and Objects
Reading: Ch. 2.1–2.6, 2.8, 3.1–3.4, 3.6–3.7 |
Week 2 · 1/21Compiling, Testing, and Debugging
Reading: Ch. 2.7, 3.4–3.5, 6.10 |
Week 3 · 1/24Primitive Data Types and Operations
Reading: Ch. 4.1–4.2 |
Week 3 · 1/26Basic I/O; Strings and String Operations
Reading: Ch. 4.3, 4.5 |
Week 3 · 1/28Decision Structures and Boolean Operations
Reading: Ch. 5.1–5.5, 5.7 |
Week 4 · 1/31Repetition Structures
Reading: Ch. 6.1–6.4, 6.8 |
Week 4 · 2/2Input Validation
Reading: Ch. 5.6, 5.8 |
Week 4 · 2/4Testing
Reading: Ch. 6.5, 6.6, 6.10 |
Week 5 · 2/7Arrays
Reading: Ch. 7.1–7.2, 7.6 |
Week 5 · 2/9Array Algorithms
Reading: Ch. 6.7, 7.3 |
Week 5 · 2/11Mid-semester break—no classes
|
Week 6 · 2/14Midterm exam review
|
Week 6 · 2/16Midterm exam
Reading: Ch. 1–7 |
Week 6 · 2/18ArrayList; Designing Classes
Reading: Ch. 7.7, 8.1–8.6 |
Week 7 · 2/21Inheritance and Substitutability
Reading: Ch. 9.1–9.3, 9.5 |
Week 7 · 2/23Polymorphism
Reading: Ch. 9.4 |
Week 7 · 2/25Abstract and Final Classes; Member Visibility
Reading: Ch. 9.4 |
Week 8 · 2/28Interfaces
Reading: Ch. 10.1–10.2 |
Week 8 · 3/2Comparable Interface
Reading: Ch. 10.3 |
Week 8 · 3/4Case Study: Shape Hierarchy
|
Week 9 · 3/7File I/O; Input Processing
Reading: Ch. 11.1–11.2 |
Week 9 · 3/9Command-Line Arguments
Reading: Ch. 11.3 |
Week 9 · 3/11Exception Handling
Reading: Ch. 11.5 |
Week 10 · 3/14Midterm exam review
|
Week 10 · 3/16Midterm exam
Reading: Ch. 7–11 |
Week 10 · 3/18Midterm exam postmortem
|
Week 11 · 3/21–3/25Spring break—no classes
|
Week 12 · 3/28Object-Oriented Design; UML
Reading: Ch. 12 |
Week 12 · 3/30GUIs and Event-Driven Programming
Reading: |
Week 12 · 4/1State Machines; Enumeration Types
|
Week 13 · 4/4Recursion
Reading: Ch. 13.1–13.2 |
Week 13 · 4/6Recursive Performance
Reading: Ch. 13.3 |
Week 13 · 4/8Linear and Binary Search
Reading: Ch. 14.6 |
Week 14 · 4/11Selection and Insertion Sort
Reading: Ch. 14.1–14.3 |
Week 14 · 4/13Merge Sort
Reading: Ch. 14.4–14.5 |
Week 14 · 4/15Quick Sort: Partitioning
Reading: Ch. 14.5 |
Week 15 · 4/18Quick Sort: Recursive and Base Cases
Reading: Ch. 14.5 |
Week 15 · 4/20Computational Complexity
Reading: Ch. 14.3, 14.5, 14.7 |
Week 15 · 4/22Final exam review
|
Week 16 · TBDFinal exam
Reading: * |
This page was last modified on 2022-01-07 at 20:42:29.
George Fox University · 414 N Meridian St · Newberg, Oregon 97132 · 503-538-8383
Copyright © 2015–2025 George Fox University. All rights reserved.