General Information
Instructor:
Geoffrey Towell259 Park Science Building
526-5064
gtowell at brynmawr dot edu
http://cs.brynmawr.edu/~gtowell
Class:
Lecture | 1:10 - 2:30 MW | Park 245 |
---|---|---|
Lab | 2:40 - 4:00 Monday | Park 231 |
Office Hours | Monday 10AM - Noon. Thurs 12:01pm-1:01pm Also by appointment |
Park 259 |
Zoom | Meeting code: 232 840 6920. |
Password: given in class |
Course Description | This is an introduction to the discipline of computer science, suitable for those students with a mature quantitative ability. This fast-paced course covers the basics of computer programming, with an emphasis on program design, problem decomposition, and object-oriented programming in Java. Graduates of this course will be able to write small computer programs independently; examples include data processing for a data-based science course, small games, or estimating likelihood of probabilistic events, etc.. No computer programming experience is necessary or expected. | |
Computer Lab | Park 230 & 231 | Instructions for using the lab
computers Remote accessible lab computer status |
![]() |
||
from https://xkcd.com/801/ |
Text
Important Dates (may change slightly)
- Sep 6, First Class
- Oct 4, First Midterm
- Nov 9, Second Midterm
- Exam period, Final Exam
Assignments
There will be homework assignments approximately every week. Homework will be electronically submitted. The homeworks will typically be small programming problems that are linked to class discussion. Programming is expected to take less than 10 hours per week.All assignments must be turned in on time.
You have one, 36 hour, late pass to be used at your discretion. To use the late pass you need only send me email sometime before the due date.
Assignments turned in 24 hours early (or more) will receive a 3 percentage point bonus.
Assignment errors
Despite my best efforts, homeworks may have sections that are not quite correct. If you find an error, let me know. If I agree that the issue is an issue and you have told me of the issue at least 48 hours prior to the due date then I will give bonus points as follows:
3 points for the first issue reported 2 points for the second issue reported 1 point for the third issue reportedOrdering is based on date of email receipt. One bonus per person per assignment.
Program design
Programming assignments should be neat and understandable to a reasonably skilled reader. To this end, it is common to require that programs adhere to a set a design conventions such as those set forth here. Posted code samples will adhere to these principles. You are not required to adhere to these principles but egregious non-compliance may be marked down.
Readme
All programming assignments must be accompanied by a README file. I will read, and often will respond, to all README text. See the file for a description of the expected contents.
- Homework 1 Due Sep 15, before 11:59:59pm
- Homework 2 Due Sep 21, before 11:59:59pm
- Homework 3 Due Sep 28, before 11:59:59pm
Programming on your laptop
Generally this is fine (specifically too). You may do all your work on your laptop. However you must submit your work via the CS department Unix machines. So any work on your laptop must be transferred (uploaded) to your Unix account. That said, this link has a pretty good set of directions for installing an using Java and Visual Studio code on both Macs and Windows. (On this web page, there is some discussion of debugging -- do not worry about that.)Labs
Labs will often look like programming assignments, just smaller. All labs can be done on the CS department lab machines or on personal machines (assuming you have installed the appropriate software.) Unlike homeworks which should be only your work, most labs can be done in small groups (2 or 3 people).- Lab 1: Sep 11. Access and Login.
- Lab 2: Sep 18. More Unix and and or or
- Lab 3: Sep 25. ssh and loops
Lectures
It is my intention to publish slides for every class prior to the start of class. If the slides are not here, tell me. Programming examples discussed in class will also be here, sometimes before, sometimes after, class.- Sep 6: Introductory remarks and the command line.
- Sep 11: Java and the command line.
- Sep 13: Algorithms and Writing Programs.
- Sep 18: If and More data types.
- Sep 18: more If.
- Sep 25. Loops.
- Sep 25. For Loops.
Course Policies
Communication
Attendance and active participation are
expected in every class. Participation includes asking questions,
contributing answers, proposing ideas, and providing constructive
comments.
Please
stay in touch with me, particularly if you feel stuck on a topic
or assignment and can't figure out how to proceed. Often a quick
e-mail, or face-to-face conference can reveal solutions
to problems and generate renewed creative and scholarly energy. It
is essential that you begin assignments early.
Grading
Grades will be awarded based on the number of points earned and according to the percentage breakdowns shown.Homework | 35% |
Class Participation | 5% |
Lab | 5% |
Midterms (2) | 35% |
Final exam | 20% |
Mid-terms will be take-home and intended to be completed in the time of a single class session. All exams will be open everything. The only restriction is that you may not discuss the exam, in any way, with anyone until 24 hours after the exam (unless you are told otherwise by me).
Incomplete grades will be given only for verifiable medical
illness or other such dire circumstances. Incomplete grades must be approved through the Dean's
office.
ALL work submitted for grading should be entirely YOUR OWN (except for labs). Sharing of programs, code snippets, etc. is not permitted under ANY circumstances. That said, I encourage you to discuss assignments at an algorithmic level with other students. That is, talk about the problem, and general approaches to problems. Do not share or discuss actual code.
Links
- Kernighan's book on programming style. Most of the examples in this book are in languages rarely if ever used, but the lessons still apply.
Learning Accommodations
Students requesting accommodations in this course because of the impact of disability are encouraged to meet with me privately early in the semester with a verification letter. Students not yet approved to receive accommodations should also contact Deb Alder, Coordinator of Accessibility Services, at 610-526-7351 in Guild Hall, as soon as possible, to verify their eligibility for reasonable accommodations. Early contact will help avoid unnecessary inconvenience and delays.This class may be recorded.
Creating a Welcoming Environment
All members of the Instruction Staff are dedicated to the cause of improving diversity, equity, and inclusion in the field of computing, and to supporting the wellness and mental health of our students.Diversity and Inclusion
It is essential that all members of the course community – the instructor, TAs, and students – work together to create a supportive, inclusive environment that welcomes all students, regardless of their race, ethnicity, gender identity, sexuality, or socioeconomic status. All participants in this course deserve to and should expect to be treated with respect by other members of the community. Class meetings, lab sessions, office hours, and group working time should be spaces where everyone feels welcome and included. In order to foster a welcoming environment, students of this course are expected to: exercise consideration and respect in their speech and actions; attempt collaboration and consideration, including listening to opposing perspectives and authentically and respectfully raising concerns, before conflict; refrain from demeaning, discriminatory, or harassing behavior and speech.Wellness
Additionally, your mental health and wellness are of utmost importance to the course Instruction Staff, if not the College as a whole. All members of the instruction staff will be happy to chat or just to listen if you need someone to talk to, even if it’s not specifically about this course. If you or someone you know is in distress and urgently needs to speak with someone, please do not hesitate to contact BMC Counseling Services: 610-526-7360 (610-526-7778 nights and weekends). If you are uncomfortable reaching out to Counseling Services, any member of the Instruction Staff will be happy to contact them on your behalf. We understand that student life can be extremely difficult, both mentally and emotionally. If you are living with mental health issues such as anxiety, depression, ADHD, or other conditions that may affect you this semester, you are encouraged to discuss these with the Instructor. Although the details are up to you to disclose, the Instruction Staff will do their best to support and accommodate you in order to ensure that you can succeed this course while staying healthy.Created on August 2023. Subject to constant revision.