Syllabus | CMSC 105 Elementary Programming - Fall 2024

Syllabus

Meeting Times and Staff

Instructor

Meeting Times

Class/Lab Info

Course Staff

Course Details

Welcome to Elementary Programming!

Welcome to the course. I am thrilled to have you here and am looking forward to a semester filled with growth, learning, and success. Together, we will explore, create, and innovate. Let’s make this an outstanding semester for everyone!

Course Description

This course is designed to help students learn the foundation of computer programming. In this course, we will learn different concepts of programming using Python language. We will apply these concepts to solve problems in different areas of study. To start with, we will also discuss the basic structure of computers.

Towards the end of this course, students will have programming tools that can be applied to their respective areas of study.

Symbolic Reasoning - Statement of Course Objective

(This is a detailed statement on how CMSC 105 satisfies the Fields of Study: Symbolic Reasoning requirement.) Students will solve problems using one or more programming systems. The problem solving will include translating problems into computer programs, from problem statements that do not make clear the particular solution method to be used. In addition, the course will cover relevant background information, such as the rudiments of computer architecture and other aspects of the nature of computing systems and of computer science. This background will also include programming language syntax and semantics, so that students can recognize and correct syntax errors and can precisely predict the output of the kind of programs they write, given specified inputs. However, the central theme of the course will be the kind of problem-solving by students that expresses a solution in the form of a computer program.

This course will help students learn the basics of computer programming. Some of the main course objectives fulfilled towards the end:

Learning Outcomes

By the end of this course, you will be able to:

Your Goals

Please let me know what your goals are for this semester.

  1. ?
  2. ?
  3. ?

Course Outline

Textbook and Resources

Textbook

There will be assigned reading from the following book which is available electronically for free online and via the UR library.

Resources

All books listed here are available in electronic form for free on the O’Reilly Media website via the UR library. You can also find a ton more books and resources there.

Coursework and Grading

Course Work

Grading Breakdown

Late Work Policy

Assignments including modules and labs may be submitted late with a 10% deduction per day late.

You will have two “late passes” per semester to use on modules and labs. To use a late pass, notify me which assignment you would like to use it on, and you may turn that assignment in one week late for full credit.

Late passes may not be used on reading assignments or quizzes.

In cases of personal illnesses, emergencies, or documented accommodations, assignments may be submitted late for full credit if you notify me of your situation.

Attendance Policy

Regular attendance for the entire class time is expected. You may miss 2 total sessions (including lecture and lab). If you have to quarantine due to COVID or miss class for other legitimate reasons you will not be penalized. After 2 unexcused absences a deduction will be applied to your participation grade for subsequent unexcused absences.

Self-Guided Module Exercises

Each lecture will be accompanied by a self-guided worksheet. This module exercise is to complement in-class content and to assist you in reviewing the material. In-class module exercises are due one week from the lecture in which they are assigned.

Labs

Labs are short-to-medium size programming assignments that are designed to reinforce lecture. This course has a formal laboratory component. You are expected to attend each lab for the entire 50 minute lab period. Some labs may require that you work in teams of two or more. Almost all labs will require more than the 50 minute alloted time to complete, so please expect to have to spend extra time on the labs. Labs are due at 11:59 pm on the night prior to the next lab (for this course, that means 11:59 pm Thursday evening), unless I explicitly provide a different deadline.

Quizzes

There are four in-class quizzes. Each quiz is worth 5% of your grade, for a total 20%.

Hackathon

The hackathon will take place during our final exam period from 2pm to 5pm on Monday December 16th. Students will write a Python program(s) to solve a problem or accomplish a task based on a theme or instructions provided during the hackathon. The programming will be done open-book but close-internet.

Participation Grading

You will earn the participation points based on the following:

Class Communication

I will use two primary forms of communication in this class: email announcements and Slack. You are responsible for remaining up to date on any information sent by email or posted to Slack. This may include clarifications to assignments, updates on grading rubrics, and changes in office hours.

For all general course information, questions, and clarifications, please use Slack. I hope that the Slack workspace can be an extension of our classroom community where we can share questions and answers for the entire class to view and learn from.

If you have personal, individual issues you’d like addressed, you should send those by email to me. However, all course related topics should be directed to Slack.

Course Policies

Statement on Inclusive Teaching

It is my intent that students from all backgrounds and perspectives be well-served by this course, and that the diversity that the students bring to this class be viewed as a resource, strength and benefit. Your suggestions are encouraged and appreciated. Please let me know ways to improve the effectiveness of the course for you personally, or for other students or student groups.

Illness policy

If you are ill and it will cause you to miss class, lab, or an assignment, you should let me know in advance, if possible. It is your responsibility to catch up with any missed material if you are able to do so. If not, then immediately on return, work out a time-frame with me on when work will be submitted.

Academic Integrity policy

It is very important in this course (and in life), that your work be your own. These guidelines will help you achieve that.

You must:

You may:

You may not:

The Honor Code will apply to this course. Please read through the code carefully.

Generative AI

You will almost certainly be using generative AI in some way for the rest of your career. You may use generative AI tools for homework, labs, and project in the following manner.

You must:

You may:

You may not:

This policy is subject to change as we all learn more about how GenAI works and doesn’t work as part of learning college level course content.

Disability Services

Any student who may need an accommodation based on the potential impact of a disability should contact Disability Services (or call 804-662-5001) to establish eligibility and to coordinate reasonable accommodations.

If you are approved for classroom and/or testing accommodation(s) please make sure to submit a Disability Accommodation Notice to me at this link.

Wellness

If any issue arises that may limit your ability to participate in class, for example, personal illness, family emergency, etc., please be sure to discuss these matters with me as soon as possible and accommodations will be made available to you as appropriate.

Feelings of being overwhelmed are unfortunately quite common in the university environment. You are not alone, and there are a number of resources available to provide support in those moments. Learning to ask for help is an important part of the university experience, and if you or anyone you know experiences any academic stress, difficult life events, or feelings of anxiety or depression, we strongly encourage you to seek support. UR offers counseling services, and also consider reaching out to a friend, family or faculty member you trust for help.

If you or someone you know is feeling suicidal or in danger of self-harm, call someone immediately, day or night:

Weinstein Learning Center

Academic Skills Center: Academic coaches assist students in assessing and developing their academic and life-skills (e.g., critical reading and thinking, information conceptualization, concentration, test preparation, time management, stress management, etc.). Peer tutors offer assistance in specific subject areas (e.g., calculus, chemistry, accounting, etc.) and will be available for appointments in-person and virtually. Peer tutors are listed on the ASC website. Email Roger Mancastroppa (rmancast@richmond.edu) and Hope Walton (hwalton@richmond.edu) for coaching appointments in academic and life skills.

English Language Learning: assists multi-lingual and international students in honing their language, academic, and/or intercultural skills. Among other available services for students are one-on-one tutoring, group workshops, and semester-long classes on writing and U.S. culture. Please contact Dr. Bohon, Director of English Language Learning, at Leslie.Bohon@Richmond.edu for more information and appointments.

Quantitative Resource Center: Provides services related to quantitative and computational learning across the curriculum through tutoring, consultation and training.

Speech Center: Assists with preparation and practice in the pursuit of excellence in public expression. Recording, playback, coaching and critique sessions are offered by teams of trained student consultants. During scheduled appointments, consultants assist in developing ideas, arranging key points for more effective organization, improving style and delivery, and handling multimedia aids for individual and group presentations. We look forward to meeting your public speaking needs.

Technology Learning Center The TLC is a staffed public lab dedicated to supporting digital media projects. Services include camera checkout, video/audio recording assistance, virtual reality, poster printing, 3D printing and modeling. The TLC is located on the second floor of Boatwright Library.

Writing Center: Assists writers at all levels of experience, across all majors. Students can attend walk-in hours at Boatwright Library (room 171A) with trained writing consultants who offer friendly critiques of written work.

Other Campus Services

Boatwright Library Research Librarians (289-8876): Research librarians help students with all steps of their research, from identifying or narrowing a topic, to locating, accessing, evaluating, and citing information resources. Librarians support students in their classes across the curriculum and provide individual appointments, class library instruction, tutorials, and research guides (libguides.richmond.edu). Students can contact an individual librarian or ASK a librarian for help via email, text (804-277-9ASK), or chat.

Career Services (289-8547): Can assist you in exploring your interests and abilities, choosing a major or course of study, connecting with internships and jobs, and investigating graduate and professional school options. We encourage you to update your profile in Handshake and schedule an appointment with a career advisor early in your time at UR.

Counseling and Psychological Services (289-8119): Assists currently enrolled, full-time, degree-seeking students in improving their mental health and well-being, and in handling challenges that may impede their growth and development. Services include brief consultations, short-term counseling, skills-building classes, therapy groups, crisis intervention, psychiatric consultation, and related services.

Acknowledgments

Much of the material for this course comes from previous iterations taught by Dr. Shweta Ware.