This class is being taught at St. Mary's College of Maryland, located on the traditional and ancestral territory of the Chaptico, Piscataway, Yaocomaco, and Pamunkey Native Americans. Growing up in the Maryland public school system I never heard the names of these indigenous people. I encourage those of you who are on campus to take a walk over to Historic St. Mary's City, learn about the Yaocomaco people, and see a recreation of a traditional Yaocomaco village. (Maryland at a Glance)
We will be expanding on the knowledge you have gained in your earlier computer science classes and reaching for a deeper understanding of some of the techniques you already know so you can understand the power of the tools that you are using. Please do so knowing that Computer Science is not a discipline removed from society. Computer algorithms in use today reflect and exacerbate many inequities and problems in society, though they can also contribute in some part to solutions to these problems.
The class will focus on getting information into your program from outside sources, storing large amounts of data, and presenting the results of your program in more user friendly ways.
I am committed to equal opportunity for all students.
Whether you look like the person who developed Voice over IP, the technology that is used to transmit voice over the internet and make technologies such as Skype possible (and therefore all of the remote learning you will be doing this semester possible);
The person who first imagined clicking on a graphic to start a computer program (how you opened the program you are reading this on right now);
The person who, in 2019, used computer algorithms to create the first picture of a black hole;
The person who used an early computer to break German codes during WWII and developed a test for machine intelligence, but was driven to suicide after being prosecuted in 1952 for homosexual acts;
No one shall be treated differently, separately, on the basis of race, religion, national origin, marital status, sex, sexual orientation, gender identity or expression, age, or disability. Discipline will be imposed where appropriate for any act of discrimination.
Assistant Professor of Computer Science (Assistant means not tenured and still learning!)
M.Sc. in Computer Science from the University of Victoria, 2016
(This means you should not call me Dr., I have a Master's degree not a Doctorate.)
B.A. in Computer Science and Religious Studies from St. Mary's College of Maryland, 2012
Want to learn more? Visit my website or email me at acwebster@smcm.edu
I would like to acknowledge that we are all individuals with multiple sociocultural identities that intersect and shape our worldview through the lens of privilege and oppression. My commitment to you as your instructor is to minimize systemic forces of oppression within the classroom such as ableism, classism, racism, sexism, transphobia, and heterosexism (fancy/academic word for homophobia) in efforts to create a safe learning environment for all of us. I ask that you also join me in this commitment to foster respect for one another, enhance solidarity, and build community.
Coming into this course I expect you to have learned basic coding tools and be able to write a working program. However because of the state of the world we will focus on review for the first few weeks of class.
Review Goals (COSC 120 Objectives)
Students feel confident in:
1. Creating a simple program from scratch
2. Implement variables of assorted types (int, char, String, etc.)
3. Using decision making control structures (if statements)
4. Using looping control structures (while and for loops)
5. Writing and calling methods in more than one class
Once students feel comfortable using the above tools we will start to explore these tools more deeply, new tools will be introduced, and we will start thinking of style, good design, and documentation when looking at code.
Official Overview
This course examines object-oriented design and programming in greater detail. An examination of the use of the data structures provided by language-specific libraries, and some common, simple algorithms. Students will learn to design and implement simple applications. The emphasis of this course is on learning good design. This course is suitable for non-majors who want to improve their ability to solve problems using programs. Prerequisite: COSC120.
Objectives
By the end of this course, students should be able to use:
1. Recursion
2. File Operations (reading and writing)
3. Arrays and ArrayLists
4. Graphical User Interface (GUI) components such as buttons, layout managers, and shape drawing
5. Simple Inheritance concepts
6. Object-Oriented programming
7. Exceptions ( try-catch blocks )
On the home page of this website you can see a list of the topics that will be covered in this course. I have dates listed next to every topic up to the first quiz (as those are when you should have watched the videos by) The dates I have listed after that point are subject to change because every class is different and learns at a different pace. The activities I have planned might take a day for one group of students and a couple weeks for another group. There is no way for me to know exactly how long an activity will take with this class so dates might have to be moved around to accommodate different schedules.
At the end of the semester each student will take a Proficiency Exam. If the student does not pass the Proficiency Exam they will receive an F for the course, regardless of the grade percentage they have accumulated in other sections of the class. Each student may attempt the Proficiency Exam twice. The exam will focus on the main objectives of the course and should not be difficult for students who have done and understood all the work in the course. The exam will not impact student's grades in any other way. (See below for how the rest of the grade will be calculated)
All graded work should be complete individually unless specifically stated.
Lecture Worksheets 10% - As engaged learning in the course, before each class you will watch a lecture video and fill out a google form, these will be graded for completion not correctness. While we will be practicing the concepts presented in the videos more in class, the purpose of these videos is to allow you to be introduced to and digest new concepts at your own pace.
Assignments 45% - Each submission of work done outside of the classroom will be weighted the same whether it is labeled as a a project milestone or a lab assignment.
Quizzes 40% - You will take regular quizzes to help you reinforce your skills. At the end of the course the "final exam" will give you an opportunity to regain points on any quiz you have missed or quizzes you didn't score well on. (You can retake however many quizzes you choose at the final exam)
Participation 5% - Your in class participation, asking questions and completing in class activities will count 5% towards your final grade.
(See late work policy in the next section)
LATE Project Milestones and Lab Assignments: For each 24 hours after the due date that the submission is turned in late 10% will be subtracted from the final grade of the assignment. Submissions will not be accepted if they are more than a week late as I will be posting solutions at that point.
Quiz Absences - If you are absent from class on a quiz day but are in class on the next class period, ask for a blank quiz so that you can do quiz revisions and earn up to 50% of the points you could have earned on the quiz. You can also make up the points for a missed quiz at the final exam.
130 Base Proficiency Exam - Individual meetings will be scheduled by the student in the meeting times provided. If no time slot works for the student because of class or other scheduled conflicts then the student should let the professor know either in class or by email before individual meetings begin so that an alternate time can be arranged. (Note: The majority of the individual meetings will be scheduled during the regularly scheduled class time so this type of conflict is not foreseen to be a major issue) If a personal conflict arises before the scheduled meeting the student should contact the professor as soon as possible to arrange an alternate time slot if one exists. If the student misses the meeting without contacting the professor within 24 hours or does not arrange for a make up meeting the student will fail the exam and the class.
Anonymized Grading: It is important for you to put your name on each assignment you turn in to practice professionalism and I will remove points if it is not present, however I also believe that anonymized grading is important and I use it for all assignments to the fullest extent possible. Anonymized grading requires that I not know the author of the work I grade. I achieve this by opening all of the assignments at once and minimizing the comments at the top of the code or scrolling so that I cannot see your name at the top of the document as I grade. I use anonymized grading to minimize the effect that either my own biases or any preconceived notions of students’ ability influence may have on my judgment of their work.
Note: It is not usually possible for me to use anonymized grading with late work
Late Video Worksheets: Research shows that flipped classrooms are a good for learning, however the flipped classroom approach only works if students come prepared for class. The worksheets associated with the lecture videos will each be worth 10 points if they are completed before 11:59 the night before the class they are listed as due on. If they are submitted after this time they will be worth 1 point.
ASK QUESTIONS: You are encouraged to ask appropriate relevant questions and introduce your own views that contribute to everyone’s learning. Every person in the classroom has a different level of experience with the material we are reviewing. With this in mind, you are expected to be respectful of where your fellow classmates are in their learning and with your words inside and outside the classroom.
BE RESPECTFUL OF OTHERS: It is expected that all students be attentive, polite, and not a source of distraction to me or any other student. Your behavior at all times must be respectful -- of your classmates, yourself, and me. Language that is disrespectful based on race / ethnicity, sexual orientation, age, gender or gender expression, religion, ability, social class, or size will not be tolerated.
To help us accomplish this:
If you would like us to use a name and/or set of pronouns that differ from those that appear in your official SMCM records, please let me know.
If you feel like your performance in the class is being impacted by your experiences outside of class, please talk to me. I would like to be a resource for you.
As a participant in class discussions, you should honor and respect the diversity of your classmates.
AVOID DISTRACTING OTHERS: I understand that it is difficult to pay attention for long periods of time and I aim to break up the lecture material with activities and frequent breaks. Please avoid distracting behaviors such as private conversations, irrelevant reading, coming to class late, leaving early, checking email, using social media, texting, or listening to headphones, are disruptive to meaningful learning. These disruptions are inconsiderate to others and undermine your own learning experience.
ATTENDANCE: You are warmly invited and encouraged to attend class meetings. While attendance will not directly affect your grade, it is important for your learning, for the success of this class, and for our ability to build community and maintain connection. Your presence in the class matters.
I teach using active learning because “students in classes with traditional lecturing were 1.5 times more likely to fail than were students in classes with active learning” (Active learning increases student performance in science, engineering, and mathematics. Freeman, Eddy, McDonough, Smith, Okoroafor, Jordt, and Wenderoth, 2014). In order for you to benefit from this teaching style you have to be present in class.
If you don’t come you will miss the learning that happened in that class period and the participation points available during the class period. Similarly if you are on social media or doing work for other classes in my class you are not participating and therefore will get no points for the day.
RELIGIOUS HOLIDAYS: If you are celebrating a religious holiday that conflicts with the course, please let me know as soon as possible so we can make alternative arrangements for you or so I can shift the course schedule. I have tried to ensure that no quiz dates fall on major religious holidays but it is very possible that I have missed some, so please let me know. Additionally, if there is anything in the course that might violate your religious traditions and beliefs, please meet with me so I can create slightly different requirements for you.
ACCOMMODATIONS: My class intends to be a disability-friendly space. Please let me know if there are things that I can do to achieve a more accommodating setting. Students with documented arrangements in this course should speak to me as soon as possible so we can discuss what you need to succeed in this course.
According to the Judicial Procedures for Academic Misconduct in To the Point “plagiarism is the act of appropriating and using the words, ideas, symbols, images, or other works of original expression of others as one’s own without giving credit to the person who created the work.”
This means: you should only be turning in your own work and when you add to or enhance your work with the work of others you must give credit to those other sources, including your past self and other students.
You should not be sharing the code you write for any assignment with other students (unless they have been assigned as your partner or group member).
If you do use code that someone else wrote then you must write a comment in your code with a reference to where you got the code you are using.
For example, if the source was a website your comment should include:
-- the URL,
-- the website name,
-- the date you got the code,
-- an explanation of how many lines of code you used, and
-- what modifications you made to the code.
You may not use ChatGBT or any other AI to create or alter code for this class.
Any violation of academic integrity will result in an automatic zero for that assignment and will be reported to Academic Services. Severe violations of academic integrity or a second offense will result in a more severe penalty up to, and including, an automatic F in the course.
Don’t just read your notes. Instead:
1. Take notes and try the code in the Videos yourself
2. Quiz yourself
3. Do Practice Problems
4. Study in Groups (social time plus learning!)
5. Spend an hour a day on the material outside of class.
4 classes * 5 days = 20
4 classes * 4 hours/week = 16
Total = 36, which is still less than a 40 hour work week.
6. Follow proven study and learning strategies.
The Writing & Speaking Center offers free peer tutoring in writing and speaking. The peer tutors are students themselves, but they have completed extensive hands-on training to learn how to assist their peers at any step of the process (planning, drafting, or revising) for any writing or speaking assignment, and they have also now been trained how to deliver this help via Zoom sessions. Although the peer tutors cannot diagnose issues or make revisions for you, they can work collaboratively with you to discuss ideas, consider options, and find solutions so that you can continue solo. This collaborative approach is one of the best ways to help students develop their abilities because all writers and speakers need audiences—just ask the peer tutors, who often schedule tutorials with each other.
To schedule an appointment, please visit the Center’s website (www.smcm.edu/writingcenter) and click the “Make an Appointment” button. The Center’s website also has videos of sample tutorials, helpful handouts on different writing elements, an FAQ section with more information, and details for how to become a tutor. If you need assistance scheduling or have additional questions, please contact the Assistant Director of the Center, Mandy Taylor, at apheatwole@smcm.edu.
Feeling Bad? - Please stay home if you feel at all ill! Regardless of wether you think it is contagious or not, if you do not feel well please stay home and rest. COVID is not the only illness, the flu, strep throat, etc. should also be taken seriously and not passed to the people around you. There are many ways to make up work and points in this class and it is better for everyone if you stay home and rest when you are ill so you can get better sooner.
Masks - I am very grateful to the many thousands of people who worked very hard to develop the COVID vaccine and the tens of thousands of people who organized the distribution of it. The research suggests however that vaccinated people can spread COVID and, in rare cases, catch the disease therefore I will be wearing a mask all semester.
The Wellness Center (240-895-4289) provides numerous confidential health and counseling services including a 24/7 Counseling Helpline and same day/next day connections to counseling by calling 240-895-4289 or emailing the Director at lkscherer@smcm.edu. To learn more about Wellness Center Services please go to their webpage at https://www.smcm.edu/wellness/
Sometimes students feel they need additional resources beyond those available on campus for a variety of reasons. As such, below I’ve included information, websites, and phone numbers for a variety of other mental health related organizations that are available/accessible nationwide. Each of these organizations also has an online chat system which can be found by going to their website and selecting the chat option.
According to RAINN "Among undergraduate students, 26.4% of females and 6.8% of males experience rape or sexual assault through physical force, violence, or incapacitation" (Source) I deeply hope that you do not experience any sort of assault during your college career but please know that if you do, and you talk about it in front of a professor or any employee of the college, that individual is legally required to report the assault to the Title IX office, who will then send you an email inviting you to talk about it more.
National organization focused on assisting survivors of all forms of sexual violence.
https://www.rainn.org/
National organization devoted to supported mental & physical health and safety of LGBT+ youth
https://www.thetrevorproject.org/
National organization focused on assisting survivors of relational and domestic violence
Or text START to 88788
https://www.thehotline.org/
https://suicidepreventionlifeline.org/