Computer Science I - Java
Table of Contents
COSC 120: COMPUTER SCIENCE I
- Credit hours: 4
- Term and year: Fall 2025
- Delivery Mode: Classroom.
- When and Where: Tuesday, Thursday. 1:45 PM - 3:00 PM. Schaefer Hall, Room 165.
- Instructor: Sayan Goswami
- Office: Schaefer Hall, Room 152
- Office Hours: Monday and Wednesday from 3:00 PM to 4:00 PM or by appointment.
- Phone: 240-895-2153
- Email: sgoswami@smcm.edu
- Textbook: Think Java
- Prerequisites: None
Course Goals
This course aims to introduce students to the foundational principles of computer science and provide a practical, hands-on introduction to programming using the Java language. The course is designed to empower students to think algorithmically and solve simple problems using an object-oriented approach. It also seeks to provide a broad overview of the key fields within computer science and their real-world relevance.
Learning outcomes
By the end of this course, you will be able to:
- Summarize the core principles of object-oriented programming (OOP).
- Write basic Java programs that use variables, methods, and control flow structures.
- Implement a class with appropriate fields and methods to model a real-world object.
- Utilize built-in data-structures to store and manage a collection of objects.
- Analyze a simple program to identify potential logic errors or bugs.
- Design and construct a complete, object-oriented program from a given class diagram to solve a practical problem.
Engaged Learning
The Engaged Learning component will emphasize teamwork in solving programming problems. Together in class, we will finalize the format of this activity, and with my guidance, you will help choose the problems your teams will work on.
SMCM Code of Student Conduct
I support the SMCM Code of Student Conduct, which states, in part: “St. Mary’s College of Maryland is committed to the ideals of honesty, personal integrity, and mutual trust Academic integrity is a responsibility of all students, members of the faculty, and administrative officers. All students are expected to uphold the highest ideals of academic integrity throughout their career at St. Mary’s.”
Students who commit acts of academic misconduct are subject to in-class penalties imposed by the instructor and to a hearing before the Academic Judicial Board with possibilities of additional penalties.
You are responsible for understanding and complying with the SMCM Code of Student Conduct.
Academic Accommodations
SMCM is committed to providing access to the learning and living experience to students with disabilities and disabling health conditions. If you have received a letter from the Office of Accessibility Services (OAS), which outlines the academic accommodations to which you are entitled to and you want those accommodations to apply to this course, you MUST share your letter and meet with me to review that letter. If you suspect that you have a learning or living need related to a disability or disabling health condition that could benefit from accommodations, you should contact the Office of Accessibility Services, who can help you learn more about how to proceed. Email: adasupport@smcm.edu
Office of Student Success Services
The Office of Student Success Services (OS3) provides free tutoring services and academic coaching with professional staff and Peer Academic Success Strategies (PASS) Specialists. You may make appointments by emailing PASS@smcm.edu. To request tutoring for a specific course, email tutoring@smcm.edu. For any other help call 240-895-4388, stop by Glendening 230, or email os3@smcm.edu .
Office of Title IX Compliance and Training
St. Mary’s College of Maryland is committed to helping create a safe and open learning environment for all students. If you (or someone you know) have experienced any form of sexual misconduct, including sexual assault, dating or domestic violence, or stalking, know that help and support are available.
The College strongly encourages all community members to take action, seek support, and report incidents of sexual misconduct to the Title IX Office. Under Title IX of the Education Amendments of 1972, I am required to disclose information about such misconduct to the Title IX Office.
If you would like to talk to a confidential employee who does not have this reporting responsibility, you can contact SMCM Wellness Center (240) 895-4289.
For more information about reporting options and resources at St. Mary’s College of Maryland and the community, please visit the Office of Title IX Compliance and Training.
Wellness Center: Health Services and Counseling & Psychological Services (CAPS)
A growing number of students are experiencing mental health challenges to varying degrees. Doing what you can to stay ahead by wisely taking care of yourself will be a key to succeeding academically. Sometimes mental health challenges can affect your ability to complete required work. For example, a particular assignment might trigger anxiety for you in ways which were not anticipated. Or, maybe it becomes difficult to attend class due to mental health challenges. In any of those cases please come and talk with more or send me an email. I’ll listen and do what I can to help. The sooner you share your challenges with me, the better prepared I am to assist you. I am one of many people here at SMCM who care about you and your welfare. For further support, the Wellness Center provides numerous confidential health and counseling services including same day/next day connections to counseling by calling 240-895-4289 or emailing the Director at jljolly@smcm.edu
To learn more about Wellness Center Services please go to their webpage at https://www.smcm.edu/wellness/
Evaluation Components
Your course grade will be based on homework assignments, quizzes, a midterm exam, a final exam, and a programming project. Most components will emphasize hands-on programming.
Homework Assignments
Programming requires consistent practice, so you will complete several assignments throughout the semester. These involve coding on a laptop or desktop computer. You may use your own device, borrow a Chromebook from the Library (first-come, first-served; semester-long loan due May 1 or December 1), or work on library desktop computers (Windows) available on the first and second floors. See the SMCM library computing page for details.Quizzes
Programming builds on many small concepts that fit together to form larger systems. To help you stay on track, there will be regular quizzes focused on these building blocks.Midterm Exam and Final Exam
These exams will assess your cumulative knowledge and problem-solving skills.Programming Project
A larger-scale programming project will give you the opportunity to apply what you’ve learned in a more open-ended context.
All quizzes and exams will be paper-based.
Grading
Your final grade will be based on the following components:
| Component | Weight |
|---|---|
| Assignments | 15% |
| Quizzes | 20% |
| Midterm exam | 20% |
| Project | 20% |
| Final exam | 25% |
I will determine the exact letter-grade cutoffs at the end of the course. To ensure fairness, I guarantee the minimum grade you will receive based on your overall percentage:
If adjustments are made to the grading scale, they will only raise your final letter grade, never lower it.
The table below represents the lowest possible letter grade you can earn for a given percentage.
| Points | Letter Grade |
|---|---|
| 93 - 100 | A or higher |
| 86 - 92.9 | A- or higher |
| 79 - 85.9 | B+ or higher |
| 72 - 78.9 | B or higher |
| 65 - 71.9 | B- or higher |
| 58 - 64.9 | C+ or higher |
| 51 - 57.9 | C or higher |
| 44 - 50.9 | C- or higher |
| 37 - 43.9 | D+ or higher |
| 30 - 36.9 | D or higher |
| 0 - 29.9 | F or higher |
I will publish the grades on Blackboard.
Use of Generative AI
Generative artificial intelligence (AI) (tools such as ChatGPT, Gemini, Copilot) is a fast-developing tool that greatly impacts the learning process. As with many things, there are times when using these tools is appropriate and when it is not. For this course, I encourage you to use the generative AI tools at your disposal, including creating study guides or assisting with class assignments. However it is your responsibility to properly evaluate the information created through generative AI as well as explicitly cite its use within your assignments. We will discuss how to do this in class, and you should contact me with any questions that you may have if you encounter a situation where it is unclear how to do these citations. Failure to use the proper citation of generative AI tools may be considered plagiarism and will be handled via the SMCM Academic Misconduct policies.
Attendance Policy
Attendance is not mandatory, and thus absence from class is not penalized directly, but you will lose out in other ways. Class attendance is the #1 indicator of academic success. OS3 emphatically encourages all students to Go To Class! Class attendance is important for numerous reasons:
- Students tend to remember info more when they attend class.
- Your presence in class shows your instructor that you care about the course and it is important to you. If your grade is borderline at the end of the semester, the instructor may give you the benefit of the doubt because you regularly attended class.
- You/your families are paying to be in class. In-state residents who miss a class are wasting over $56 per class. Out-of-state students who miss a class are throwing away $110 per class!
- Your instructor will likely explain material differently/better than you can learn it yourself, and can answer questions more directly.
- Going to class helps you build community and relationships with peers and your instructors.
- By not going to class, you may miss a pop quiz, participation points, extra credit opportunities, important info, or in-class assignments that can impact your grade.
Late Work Policy
Assignments are due at 11:59 PM Eastern Time (UTC – 4) on the posted due date, with a one-hour grace period. Submissions received after that time will be subject to a late penalty of 1% of the maximum possible points per additional hour past the deadline. The minimum grade on any assignment is zero; late penalties will not reduce a score below this.
Because the penalty accumulates continuously, assignments submitted several days late will earn little or no credit. Please plan accordingly and submit on time.
This policy is designed to ensure fairness and to allow me to return graded work to the class within one week of the due date.
Tentative Schedule
The schedule below outlines our plan for the semester. As we move through the course, I may adjust the pace, spend more or less time on certain topics, or add/remove assignments and quizzes. These adjustments will be made with your learning in mind, to ensure you have the time and support needed to build a strong foundation in programming.
| Week | Date | No. | Topic | Assignment | Quiz | Comments |
|---|---|---|---|---|---|---|
| 1 | Tue, Sep 2 | L00 | Getting started. Setup IDE. | A0 due. | ||
| 1 | Thu, Sep 4 | L01 | Intro to Java and “Hello, World!”. | |||
| 2 | Tue, Sep 9 | L02 | Variables, primitive data types, arithmetic and logical operators. | A1 due. | Q1 | |
| 2 | Thu, Sep 11 | L03 | Classes as custom data types. Introduction to Objects. | A2 due. | ||
| 3 | Tue, Sep 16 | L04 | More on objects and classes. Basic Input/Output. | A3 due. | Q2 | |
| 3 | Thu, Sep 18 | L05 | Introduction to Methods. | A4 due. | ||
| 4 | Tue, Sep 23 | L06 | More on methods - arguments, parameters. | A5 due | Q3 | |
| 4 | Thu, Sep 25 | L07 | Conditional Statements. | A6 due. | ||
| 5 | Tue, Sep 30 | L08 | Repetitive execution - while loops. | A7 due. | Q4 | |
| 5 | Thu, Oct 2 | L08 | More repetitive execution - for loops. | A8 due. | ||
| 6 | Tue, Oct 7 | L10 | Introduction to Arrays and Strings. | A9 due. | Q5 | |
| 6 | Thu, Oct 9 | R01 | Midterm Review | |||
| 7 | Tue, Oct 14 | – | Fall Reading Days: No Class | |||
| 7 | Thu, Oct 16 | – | Midterm Exam | |||
| 8 | Tue, Oct 21 | R02 | Midterm Exam Discussion | |||
| 8 | Thu, Oct 23 | L11 | Introduction to ArrayLists. | |||
| 9 | Tue, Oct 28 | L12 | Using loops and ArrayLists to create a rudimentary database. | A10 due. | Q6 | |
| 9 | Thu, Oct 30 | L13 | Using constructors to create objects. | |||
| 10 | Tue, Nov 4 | – | Advising Day: No Class | |||
| 10 | Thu, Nov 6 | L14 | Introduction to reading and writing to files. | |||
| 11 | Tue, Nov 11 | L15 | Passing objects to methods. Passing values/references. | A11 due. | ||
| 11 | Thu, Nov 13 | L16 | Encapsulation. Private member variables. Getter and Setter methods. | Q9 | ||
| 12 | Tue, Nov 18 | L17 | Aggregation, Association, and Composition of objects. | |||
| 12 | Thu, Nov 20 | R03 | Review Session - Going over key OOP concepts. | Q10 | ||
| 13 | Tue, Nov 25 | L18 | Project Kickoff. Introduction to Software Engineering. | A12 due. | ||
| 13 | Thu, Nov 27 | – | Thanksgiving: No Class | |||
| 14 | Tue, Dec 2 | L19 | Continuation of Project. Introduction to UML Class Diagrams. | |||
| 14 | Thu, Dec 4 | L20 | Continuation of Project | |||
| 15 | Tue, Dec 9 | L21 | Project Completion and Presentation. | |||
| 15 | Thu, Dec 11 | R04 | Finals Review | Project Due | ||
| 16 | Tue, Dec 16 | – | Finals Week: No Class | |||
| 16 | Thu, Dec 18 | – | Finals Week: No Class |