MWF 10:10am - 11:00am
MCReynolds 316
Dr. Mark Goadrich goadrich@hendrix.edu Office Hours
T 1:10pm - 4:00pm
Snoddy Lab
This course builds on skills acquired in CSCI 150, placing emphasis on object-oriented software design and data abstraction. Students are introduced to data structures (lists, stacks, queues, trees, heaps, hash tables, graphs) and programming techniques such as recursion and sorting algorithms. Other topics include analysis of algorithm complexity, automated unit testing, and inheritance. Programming assignments focus on the design and implementation of algorithms and data structures using the Java language.
Upon completing this course, our goal is for you to be able to:
Azul Zulu Java 21 LTS
IntelliJ IDEA Community Edition
SceneBuilder 22
CS2Mulch
Algorithms
DAIADS
This is where you will find all of your assignment due dates.
If you have significant extenuating circumstances that cause you to miss multiple deadlines, please come to office hours to discuss broader accommodations. I’m happy to be flexible, but it helps to know what you need so I can figure out the best way to help.
Each formative assessment involves doing some preparatory work followed by visiting the instructor’s office hours for a demonstration of understanding. There are three types of formative assessments:
Credit:
Each formative assessment will be assigned on a Friday. To receive credit for an on-time demonstration, the office hours visit will need to occur by the following Thursday at 5 pm.
Labs let you engage further with the material from class, getting first-hand programming experience with Java implementing data structures and ensuring correctness using unit tests.
Each lab consists of a series of milestones. At the start of each lab, you will receive a sheet of paper listing the milestones for that lab. As you achieve each milestone, you will demonstrate to the instructor or TA that you have met the milestone, and they will record this achievement on your checklist. When you complete all of the lab milestones, you will submit the milestone checklist.
If you complete the lab during the lab period, hand your checklist to your lab instructor before you leave the lab. If you require additional time beyond the lab period to complete the lab, either the instructor or the lab TA can check off the remaining milestones during office hours. You can then submit the completed checklist to the instructor at the start of the next lab.
You will work with a partner on each lab assignment. Each partner will have their own milestone checklist. If they do not complete the milestones during the lab period, they should find time outside of lab to work together to complete them. If they are unable to do so, only the instructor is authorized to record milestones for students working alone.
You will have three skills projects in this course, one about every four weeks. These projects will cover concepts we have discussed in class and in labs, and will be due approximately two weeks after they are assigned.
You must work individually on the projects. You may discuss concepts and ideas with your classmates, but the code or work you turn in must be your own. Use of any resources (TA, StackOverflow, etc) must be cited, and an overreliance on those resources can be counterproductive to developing your own ability to make progress in this and other courses.
Each project will be assessed as Level 1 Complete or Level 2 Complete, with criteria specified individually for each project. You will be graded not only on correctness, but also technique, documentation and evaluation of your solution.
Note that the final project must be submitted on-time to earn credit - no final projects will be accepted late. Projects earn credits as follows:
If a project receives less than Level 2 Complete, a student may submit a revised version of the project after an office hours meeting with the instructor to discuss how the project should be improved. All project revisions must be submitted by the finals period for this course.
Three times throughout the semester, you are expected to make an office hours appointment and check in with me about the course. This will be conversation and feedback about your current progress and understanding. Ideally, these should be scheduled during the weeks shown on the course calendar.
Hendrix College is committed to high standards of honesty and fairness in academic pursuits. Such standards are central to the process of intellectual inquiry, the development of character, and the preservation of the integrity of the community.
This commitment can be understood in the following ways:
More details can be found in the Hendrix Academic Integrity Policy and the Hendrix Computer Science Academic Integrity Policy.
Learning to write computer programs doesn’t only develop programming skill - it also develops broader skills in formal reasoning. Using AI coding assistants disrupts the development of these essential formal reasoning skills. As one of the goals of this course is for you to further develop your programming and formal reasoning skills, the use of AI coding assistants is prohibited for all programming assignments submitted for credit in this course.
Learning to write prose is also an essential skill that we seek to develop in this course through writing design documents and reflections on projects. Your prose need not be perfect - I want to read your own authentic voice, not that of an AI writing assistant. I want you to develop your own authentic voice, not that of a machine. Thus, the use of generative AI writing assistants is also prohibited for all writing assignments submitted for credit in this course.
Attending class and being an active participant in the class community is one of the most important contributors to your learning at Hendrix. Attendance is especially important in this class since you will often engage in group learning activities. Active participation is expected in order to achieve higher grade levels in the course.
If you know that you will be absent, please email me so that we can find accomodations. If there is an emergency, please get in touch with me as soon as is possible once the emergency is resolved. I trust you to be honest with me about your reasons for the absence (I do not need details), and honest with yourself about if you truly need to be absent.
Final course grades are earned based on cumulative assignment outcomes. For each category of assessment, there are three levels of mastery: Basic, Intermediate, and Advanced.
From the 10 formative assessments, 30 total credits are available:
From the 12 labs, 24 total credits are available:
Remember: For an absence to be excused, the student must discuss the circumstances with the lab instructor prior to missing the lab.
From the four projects, 27 total credits are available:
There are many ways that the material in this course can be supported by other areas on campus. We also list external resources that you might need as you navigate this semester. Life can get complicated: please take care of yourself, and reach out when you need help.
Bailey Library’s mission is to collaborate and empower all members of our community so that they become their best selves, cherish the scope of human knowledge, and positively contribute to the world. Whether face-to-face or remote, librarians are happy to help locate quality resources supporting research and classroom work and to assist with the critical evaluation of academic information. Librarians and Library Associates provide individual research assistance by appointment and video chat or by email. The library building is open Mon-Thurs 8 am-12 midnight, Sat 12 noon-5 pm, Sun 4 pm-12 midnight, and access to the library’s online resources is available 24/7. You can visit the library’s website for more information, to book an appointment, and to access the library’s Discovery search, Class Guides, and databases.
The Writing Center is a community of peers ready to assist you with your writing projects, in all genres and fields, and at any stage of development. We work with you in one-on-one meetings that you can book in advance or request during our office hours. Virtual appointments are available for medical reasons or by special arrangement. To book appointments, and for more information, visit hendrix.edu/writingcenter or contact pruneda@hendrix.edu. We look forward to working with you!
Hendrix College values a diverse learning environment as outlined in the College’s Statement on Diversity. All members of this community are expected to contribute to a respectful, welcoming, and inclusive environment for everyone. If you believe you have been the subject of discrimination, please contact the Interim Assistant Vice-President & Dean of Students, JB Banks, at BanksA@hendrix.edu or reach out via e-mail at titleix@hendrix.edu. If you have ideas to improve the classroom experience’s inclusivity, please feel free to contact this professor. For more information on Hendrix’s non-discrimination policies, please visit Hendrix.edu/nondiscrimination.
If you are struggling with your health in a way that makes it difficult for you to fulfill your responsibilities in the course, please let me know! I would love to work with you to come up with reasonable and realistic accommodations to help you succeed in the course. There are also several resources available to all Hendrix students, even remotely:
The Hendrix Medical Clinic offers both in-person and tele-health appointments; Hendrix students get three free appointments per semester.
The Hendrix Office of Counseling Services also offers free remote appointments, and can help with a host of issues such as stress, anxiety, depression, grief, or relationship difficulties. Call 501-450-1448 to make an appointment.
It is the policy of Hendrix College to accommodate students with disabilities, pursuant to federal and state law. Any student who needs accommodation in relation to a recognized disability should inform the instructor at the beginning of the course. Students should also contact the Office of Academic Success (505.2954; academicsuccess@hendrix.edu) to begin the accommodation process.
Title IX Reports of Discrimination Based on Sex, including Sexual Harassment, Sexual Assault, Stalking, Dating Violence, or Gender-Based Harassment Statements to Consider for your Syllabus: All faculty and staff at Hendrix College are designated as a “Responsible Employee” and are mandated reporters required to report Sexual Misconduct. Hendrix College requires all faculty and staff to report sexual harassment, sexual assault, dating and domestic violence, and stalking against a student or employee to the Assistant Dean of Students, Paul Crawford, at crawfordp@hendrix.edu.
To report any Title IX incident or concern, complete the Incident Reporting Form.
You may also contact Public Safety at 501-450-7711, who can assist you in completing a report.