Course Information
Welcome
Instructor
-
Nery Chapetón-Lamas (he/him/el)
- Email: nery@miracosta.edu
- Text: 760-695-6379
- Student Office Hours: Tues 10am-12pm, Zoom
- Times above don't work?
- Book an appointment here!
Meeting Time & Location
- Wed 5pm-9:50pm, OC4804
Important Dates
- Last Day to Drop w/o W: 02/03/2025
- Last Day to Drop w/ W: 04/24/2025
- P/NP Date: 05/23/2025
- Final Exam: 05/21/2025 5-7pm
Course Description
This course is a continuation of CS 111 - beginning Java. Students will explore advanced Computer Science concepts such as linked lists, array lists, exception handling, basic recursion and input/output (I/O) objects using the Java language. The student will learn the difference between a java application and a Java Applet, and the relationship between an applet and HTML (HypertextMarkupLanguage). Applets will be designed for the web using Java swing components, graphics objects, layout managers, and menu components. Students will continue to apply the basic concepts of object-oriented programming, namely, encapsulation, inheritance and polymorphism in designing user-defined classes and coding programs incorporating control structures, graphical elements and more complex data structures such as linked lists.
Course Learning Outcomes
At the conclusion of this course, students will be able to demonstrate the following outcomes:
- You will be able to analyze designs incorporating more complex control structures and object-oriented design techniques which will result in appropriate solutions to specified problems.
- You will be able to implement efficient, effective solutions to more complex programming problems. These solutions will incorporate the principles of inheritance and polymorphism, fault-tolerance through exception and error handling, utilize data files and implement more advanced data structures and associated algorithms.
- You will be able to convey more advanced concepts of the object-oriented paradigm, describe more complex syntactic and program control structures, write more sophisticated programs as well as explain program designs verbally and in writing.
- You will be able to work in a team, agree upon an organizational model, establish roles, and delegate tasks to develop object-oriented software designs and complete programming projects on time in a cooperative and collective manner.
Course-Level Question
Course Topics
The semester is broken up into multiple units, each unit organized 3-4 weeks of material into a bigger idea in our course. Each week, we cover a new skill/concept and connect it to the unit theme. The following is an overview of the units and topics for this course:- Unit 1: Course Initialization
- Course Introduction + Classes Review
- Software Engineering Design (SDLC, Patterns, UML)
- Unit 2: Object-Oriented Programming (OOP)
- Inheritance
- Polymorphism
- Abstract Classes
- Exception Handling
- Interfaces + Inner Classes
- Unit 3: Graphical User Interfaces (GUIs)
- UI Design + Event Driven Programming with JavaFX
- Event Handling + SceneBuilder
- Advanced JavaFX
- Unit 4: Intro to Data Structures
- ArrayList + Generics
- File I/O (Text + Binary)
- Recursion
- Linked Lists + Advanced Data Structures
Grade Policies
In this class we don’t value perfection at a specific time, we value learning at our pace and getting to the finish line together. The policies below reflect that, and although they may be new to you and confusing at times, please trust they are flexible to accomodate our diverse set of students and are designed to support all of you! Please don’t hesitate to ask me about the policies, specific examples, or where you are grade-wise at any point this semester!
Deadlines
The only hard deadline is at the end of week 16, for anything. All deadlines for this course are guidelines to give you some structure, treat them as recommendations to help you keep up with the pace of the course materials. No matter what comes up this semester, you can automatically assume that you can take the extra time you need to submit anything! No late penalties and unlimited resubmissions, the whole point is to learn the material regardless of how much time it takes. Obviously, staying as close to those guidelines will ensure you don’t fall behind as things inevitably pile up during the semester.
I’ll use the deadlines as a guide for keeping up with grading. I’ll also use them to check in with you, so if you haven’t participated in the week’s materials by those dates you can expect a message from me to see how I can help you keep up and thrive in our class!
Grading
Our goal is for you to learn as much as you can in this course, and traditional grading can get in the way of that. That is why we’ll be using Specifications Grading, each assignment will tell you its exact requirements to get the grade you want.
- Each Unit Deliverable (UD) will have a rubric stating the expectations for an EARN Grade: E (exemplary), A (acceptable), R (revision needed), and N (not assessable)
- Everything else, like labs, only earn a Complete (✓) or Incomplete (✘) for meeting the requirements provided
That means you’ll know exactly how to earn the grade you want, no mysteries or guessing! ALL parts of a row below must be met to earn that final grade. The requirements for each final course grades are below:
To earn a(n): | Unit Deliverables (UDs) - EARN-Es | Unit Deliverables (UDs) - EARN-As | # Complete Labs | # Engagement Points (EPs) |
---|---|---|---|---|
A | >= 2 | == 4 | >= 11 | >= 75 |
B | >= 1 | == 4 | >= 10 | >= 65 |
C/P | == 4 | >= 9 | >= 55 | |
D/NP | <4 | >= 8 | >= 45 |
Note that to pass the course you MUST complete all UDs. Remember that you can resubmit any assignment multiple times, the feedback I provide will be specific to what is needed to receive a complete on that specific assignment.
Engagement Points
From educational research, we know an engaged student is a learning student and leads to a successful student. The more engagement, the more likely you’ll thrive! You’ll have many opportunities through the semester to engage with CS materials, your classmates, and our community. We’ve designed the class so that you basically get to choose how you learn and apply CS in your life! Here are examples of the activities that qualify for engagement points:
- Course activities:
- Fully completing OLI (course book) modules, meeting discussion post expectations, watching module overview videos, and (for on-ground courses only) partipcating in in-class activities
- Out-of-class activities (not required, just an option!):
- Visiting the STEM Center for tutoring/drop-in hours, attending CS-supported club meetings/events, watching pre-recorded CS-support club events, attending campus events. You’ll submit a form for these activities on what you learned and how you connect it to our course.
Note that the total engagement points for a final course letter grade are based off of the most essential activities, not requiring any out-of-class in-person activities. Those options are there in case you’d rather earn engagement points another way!
How To Succeed
All of the course material can be found through our Canvas course. Each of the following are learning opportunities, the more thoughtfully you engage the more learning can happen! In an asynchronous online course, we don’t have the usual weekly meetings. However, your flow each week will be similar except for the meeting time. The following structure will help you keep up with the pace of the materials, but remember you always have me to check in with and I’ll be doing the same with you! Each week will go by this structure of Prepping for the new weeks topic, Applying it to a the week’s problems, and Reflecting on your learning. See Canvas for each weeks specific topic materials and breakdown, below I’ll describe these learning opportunities more generally:
Prepping
Article Readings
A weekly article on a real-world topic which on the surface may seem unrelated to Computer Science. You will be asked to think critically about the topic presented in the article, and write about the thoughts and feelings the article may have provoked, presenting evidence for any opinions you have about the subject of the article. This article will inform the weekly lab assignment, where in addition to the technical topics of the week, we will think about how computing is intertwined with real world issues.
Discussion Posts
Following the articles, we can engage in class discussions through Canvas posts about the topics in the article and begin to connect them with the CS topics covered so far. If we can’t relate CS to our lives and the real world, how do we know we’re actually learning something useful?
CS Topic Module
This is like your traditional book chapter reading. However, it’s a weekly assigned technical topic module from OLI (Open Learning Initiative, a platform by Carnegie Mellon University) to cover at your own pace. You will have unlimited attempts on exercises in the module. It’s recommended you take notes, create flashcards, or use any other study strategy to help absorb the contents of the module. This will come in really handy for the practice work!
Applying
Weekly Lab Projects
A weekly graded lab assignment that will give you an opportunity to practice and apply the concepts and knowledge presented in the Topic Modules to a problem. Each lab has a set of requirements to meet for a Complete score. Grading feedback will specifically guide you on how to get to that Complete score to retry as many times as it takes! Most students get there after one, definitely by the second retry.
Weekly Lab Demo Videos
Instructional videos will be posted each week with explanations for key concepts and a coding demonstration walking you through the entire lab project to ensure full comprehension of the week’s material. This is meant to support the learning objective, but also model for you how a software developer talks about code through the problem solving process (similar to what’s expected in job interviews!)
Unit Deliverables
At the end of each unit you will be asked to demonstrate your understanding of that unit’s topics by completing part of your final project. Each UD has a list of requirements to meet for your personal project idea, the main requirement is incorporating all of the topics from the unit that builds toward your final project.
Final Portfolio
All UDs build toward this culminating project and presentation that will demonstrate your mastery of the topics covered this semester. The final project, like a capstone project, allows you to apply all that you have learned this semester.
Reflecting
Metacognitive Notes
Metacognition can be thought of as knowing about knowing or thinking about knowing. In the context of education, we will take it to mean thinking about learning. At the end of each week you’ll be asked to reflect on your learning with respect to that week’s material and activities. Practicing metacognition after every topic will improve your own understanding of the material and where you stand in terms of your own comprehension.
Recommendations
It is strongly recommended you use the following resources as needed and as early as possible, not just to pass the course but to thrive. These good habits will definitely be expected of you as a CS major in more advanced courses!
- Review prep material by the start of the week, understanding whatever parts you didn’t before and ask questions on anything that is still unclear
- Visit the STEM Learning Center for tutoring appointments/drop-ins, this can be done for the prepwork, working on a lab, or better yet both! I especially recommend tutoring appointments, they’re what got me through so many of my CS/STEM classes!
- Use our communication platform to talk with other students and myself, get any questions answered (including extra/beyond material questions!)
- Set up an appointment with me for a 1-on-1 breakdown of the material. The best part of my job is interacting with students, it’s why I chose teaching over industry!
Course Policies
“I feel that if we don’t take seriously the ways in which racism is embedded in structures of institutions, if we assume that there must be an identifiable racist who is the perpetrator, then we won’t ever succeed in eradicating racism.” -Angela Davis
Academic Integrity
First of all, be aware of your rights in how the college defines academic integrity and the appeal process in case you’re ever accused of cheating.
As far as our class, we encourage collaboration and learning in community. Such deep collaboration can make it hard to learn when these policies are on your mind. Please know that all the grace and best intention are assumed of you, it is also why our grading and deadline policy are the way they are! I am not in the business of policing and trying to catch you cheating. My purpose is to support your learning.
However, sometimes blatant academic dishonesty happens and our courses are especially easy to find answers for and give into. Should you and/or any involved parties be so obvious, I’ll facilitate a conversation about what got us there and create an action plan on how:
- I can better support you to ensure the challenge of the material is attainable in our time together
- You can reach the learning objective without resorting to shortcuts that cut off learning
Most classes would assign all involved parties a zero and move on. But that means you didn’t reach the learning objective! Instead, like any other graded assignment, I will also provide feedback in that meeting on what is needed for you to still reach that learning objective.
Generative AI Policy
We are living in an explosion of generative AI technology (ChatGPT, GitHub CoPilot, etc.) that has shaken several industries, including education. Like most tools, we work in this class to understand their limitations and how to best apply them to a given problem that factors in a real-world context. The scale for impact is enormous, and again likemost tools can be used for good but is often disastrous because of the systemic barriers and oppression that exists in our society.
As far as this course, you are encouraged to use these tools to support your learning. Examples of this include, but are not limited to:
- generating ideas for projects
- explaining a concept from our course
- explainin line(s) of code
- debugging your code
Can you use these tools to complete projects? Absolutely! But if you love this field, are passionate about the good you can do in society and your future academic/professional goals, I have no doubt that you’re using it for academic dishonesty. Instead, I invite you to share with me and your classmates how you use it to learn. That’ll teach me new ways I haven’t explore and can bring into the classroom too!
Finally, our academic integrity policy above withstanding, the best thing you can do is not trust generative AI. Take everything it says with a grain of salt, be critical and verify its answers. Just like you’re learning in various college classes to research and check trusted sources, it is especially important you do the same with tools like ChatGPT that have been known to have “hallucinations” or perpetuate human biases that we’ve built into them. Bring what you find into our classroom discussions, that’s what a learning environment is meant to do!
Online Etiquette
Are you struggling with the online environment? Are you new to online learning? Regardless of in-person/onground, Zoom, or fully asynchrnous online classes, a lot of your learning is done online! Checkout resources like the Student Support Hub and the Online Help Hut and Student Support Desk. The college has tons of Online Education Resources, like Student Online Academic Readiness (SOAR) 1-hour workshops online and in person throughout the semester.
What about day-to-day studying and participating in class? This guide on “Reshaping Your School Schedule During Remote Instruction” might help. The following are good guidelines for most classes and are expect for any online meetings (like student office hours, etc.) as well:
- Mute your mic if you are not talking/participating. Feel free to turn it on whenever you have a question or would like to answer, this is to minimize background noise.
- Raise your hand (or click the button for it). It really helps keep us organized on Zoom.
- Dress for your online class as you would in your in-person class. Online learning is uncomfortable as it is, we don’t want to see inappropriate videos of each other.
- Be kind to one another. Including yourself! Checkout our Discord for more details.
Policy On Children In Class
Currently, the college does not have a formal policy on children in the classroom. The policy described here is just a reflection of my own beliefs and commitments to student parents:
- All exclusively breastfeeding babies are welcome in class as often as is necessary.
- For older children and babies, I understand that unforeseen disruptions in childcare often put parents in the position of having to miss class to stay home with a child. While this is not meant to be a long-term childcare solution, occasionally bringing a child to class in order to cover gaps in care is perfectly acceptable.
- I ask that all students work with me to create a welcoming environment that is respectful of all forms of diversity, including diversity in parenting status.
- In all cases where babies and children come to class, I ask that you sit close to the door so that if your little one needs special attention and is disrupting learning for other students, you may step outside until their need has been met.
Finally, I understand that often the largest barrier to completing your coursework once you become a parent is the tiredness many parents feel in the evening once children have finally gone to sleep. While I maintain the same high expectations for all students in my classes regardless of parenting status, I am happy to problem-solve with you in a way that makes you feel supported as you strive for school-parenting balance. Keep in mind, this is exactly why our grading and deadline policies are what they are!
Attendance
Note that if you do not attend the first 2 weeks of class you may be dropped from the course. Please reach out as soon as possible to avoid any miscommunications and issues.
Each week I’ll be checking everyone’s progress. If you’re missing class or assignments by the end of the week, you can expect me to reach out (in-person, our communication platform, email, Canvas message, etc.) to check-in and see how you’re doing. It’s very easy to fall behind, trust me I’ve been there as a student and faculty! My job this semester is to support you the way you need to keep you on pace to the finish line.
By having a conversation, we can figure out the best way to support you so you can succeed in the class! Do not assume, however, that you will be automatically dropped if you are not active in the class. I will reach out multiple times to check-in, but ultimately it is your responsibility to withdraw from class in SURF before the appropriate academic deadline.
Student Resources
“As a classroom community, our capacity to generate excitement is deeply affected by our interest in one another, in hearing one another’s voices, in recognizing one another’s presence.” - bell hooks, Teaching to Transgress
Student Communities
You’ll be learning a lot each semester, but you don’t have to do it alone! The following are some awesome organizations and clubs our department supports:
ASE Programs
Academic Success and Equity (ASE) Programs intentionally center communities that have been historically marginalized in traditional higher education settings: students who are Black & African-American, Latinx & Chicanx, Native Hawaiian & Pacific Islander, Undocumented, DACAmented, mixed status, former foster youth, formerly incarcerated, justice/system impacted, and LGBTQIA+ students.
MESA Program
The Mathematics, Engineering, Science Achievement (MESA) Program was established in California in 1970 to support students from underrepresented and underserved communities successfully transfer to 4-year institutions in calculus based STEM majors through services like one-on-one counseling, mentoring, tutoring, and internship opportunities. The MESA program is open to all students who meet the eligibility criteria: 1st gen college student, intent to transfer to a 4-year institution, declared in a calculus-based STEM field, have no previous Bachelor’s degree in any field, demonstrate financial need (such as qualifying for a PELL grant, Cal Grant, CA DREAM Act, GI Bill, Federal Work Study, Cal Fresh, or other need-based/subsidized Financial Aid).
CSCG Club
The Computer Science for Common Good (CSCG) Club, formerly known as the Computer Science and Women in Computer Science Clubs, is a student organization whose purpose is to empower disenfranchised members in the Computer Science field such as —but not limited to— Women, Black, PoC, Undocumented, LGBTQIA+ and Disabled students in order to help them succeed and thrive as future Computer Scientists, Software Engineers, Data Scientists or any other related occupation.
Game Design Club
The Game Design Club wants to connect students in collaborating, sharing community resources, participating in game jams, and learning from projects and tutorials. Story writers, musicians, visual artists, or programmers, students from all backgrounds and interests are encouraged to join. Games capture such a variety of skills and experience we would love to help all students on the steps to making the games they have dreamed of. You can join their Discord Server for announcements and meetings.
CS-Specific Support Services
Having trouble with a CS concept or homework? We have lots of services to support CS students, here’s a flowchart to help you find what might work best for you:
STEM Learning Center
The STEM Learning Center provides free and superior student support to all MiraCosta students in STEM (Science, Technology, Engineering, and Mathematics) courses utilizing a friendly, inviting environment with qualified instructors, professional subject matter experts, and trained tutors and staff. All CS courses are supported, with in-person dropin hours/appointments Mon-Fri and online Zoom hours Sun-Fri!
MESA Student Tutoring
Are you a MESA student? Then you qualify for additional free peer tutoring in the MESA Center to support you in your STEM courses!
Internships
Internship information and more in our CS Department site.
Student Support Services
Support doesn’t just come in the form of clubs/tutoring, here are just a few you can find links to in the full Student Support guide:
Technology Needs
If you are in need of a laptop and/or mobile hotspot for fall, the library will be loaning equipment for the fall semester for enrolled credit students (that’s you!). Please fill out a CARE Referral form. Equipment will be loaned on a first-come, first-served basis. Once you’ve completed the form, the library will contact you with further information and pickup options. If you currently have equipment from the library, it must be returned before you can apply to borrow equipment again. If you have further questions, please contact Michelle Ohnstad, Library Operations Manager.
Academic Accommodations
If you have a disability or medical condition impacting learning and have not yet been authorized to receive academic accommodations, you’re encouraged to contact the Student Accessibility Services (SAS) office (formerly known as Disabled Students Programs and Services or DSPS). They can be reached at (760) 795-6658, or sas@miracosta.edu, and will help determine accommodations that are available for you.
LGBTQIA+ Resources
MiraCosta is committed to equity and inclusion for students, faculty, and staff members who are lesbian, gay, bisexual, transgender, queer, questioning, intersex, and asexual. The district employs a Campus Liaison for LGBTQIA+ needs, offers LGBTQIA Safe Space training, and has multiple student scholarships.
Undocumented/Mixed-Status Students (UPRISE)
I am an unapologetic and unafraid Ally Educator to undocumented students and their families. I will not inquire about your status, and it is entirely at your discretion to disclose the information if you feel comfortable doing so. You can always contact me if you have questions or concerns about your status or would like guidance toward resources to ensure your success while at MiraCosta College. Did you know we have a program dedicated to Undocumented and Mixed Status Students? UPRISE (Undocumented Student Rise in Solidarity and Empowerment) provides legal consultations, mental health counseling, academic and career counseling, entrepreneurship trainings, peer network events, and more for students and loved ones!
EOPS (Extended Opportunity Programs & Services)
The EOPS program’s mission is to encourage the enrollment, retention, graduation and transfer of students disadvantaged by language barriers and/or social, economic and educational circumstances. EOPS services are designed to give students individualized attention and support as they work to achieve their academic goals. EOPS provides specialized counseling, education planning, priority registration, textbook vouchers and loans, and CalWORKs program. Check the EOPS website for eligibility requirements and to chat with a program counselor.
CARE Resource Guide for Basic Needs
It can be difficult to be present and maintain focus if you have challenges meeting basic needs such as a place to live, access to food, consistent transportation, and more. These challenges may impact your personal and academic success and we are here to help. Our Campus Assessment, Resources, and Education (CARE) program provides assistance with locating resources on- and off-campus to meet those basic needs. I urge you to speak with me so that I may submit a CARE referral on your behalf. You may also visit the CARE website or contact care@miracosta.edu for further support, resources, or information.
Counseling Resources
As a student, there may be times when personal stressors interfere with your academic performance and/or negatively impact your daily life. If you or someone you know is having difficulty meeting basic needs such as food, housing, or transportation, or experiencing other personal and academic challenges, MiraCosta’s CARE Team is here to provide support and/ or help you get connected to appropriate resources. You may fill out a CARE referral form to request assistance, or schedule free mental health counseling sessions at Health Services or by calling 760-795-6675. For after hours crisis management, you may call 1-888-724-7240. As a faculty member, I also may refer students about whom I am concerned to the CARE Team. This is part of who we are as a caring, proactive community where we all look out for one another. Also note this semester there are weekly group sessions for: students with autism, Black students, recovery support, LGBTQIA+ students, single parents, chronic illness, and undocumented students. Check their blog for more workshop series.
Transportation Assistance Request Form
Our CARE team is migrating all transportation requests for Bus Passes, Gas Cards, and Uber Discount Program to be completed through the Transportation Assistance Request form. This form will help cut down communication time in gathering key information to process these requests. You may review these instructions on how to complete if assistance is needed to navigate this new form. Please utilize this form to request transportation support from us INSTEAD of the CARE referral form.
Lactation Room
Students may also use the facilities as scheduling permits. Located at T305C on the Oceanside Campus (north of the 3500/3600 rooms), the room has a posted schedule. There is a sign that can be posted on the door when the room is in use. The lactation room is equipped with a recliner chair and a table. Lactation room does not have a refrigerator. Contact Human Resources for authorization: Carolyn Sneary 760.795.6855
Veteran Services
Veterans Services consists of the Veterans Education Office and the Veterans Information Center, the staff is committed to helping you achieve our academic goals.