Syllabus
This page is the version of record. It can change during the term, and any change is announced in Discord.
1 Course info
- Instructor: Artem Pelenitsyn
- Class: TuTh 12:30–1:45 PM, Ben Franklin 103
- Student hours: M 11 AM–12 PM, Tu 2–4 PM, W 11 AM–12 PM, Th 2–3 PM
Both office walk-ins (Ben Franklin 235) and Zoom log-ins are welcome; if you want a guaranteed time slot, please schedule an appointment via CU Succeed. - Communication: course website and Discord (links to both are shared on Brightspace). Check Discord for announcements daily (weekdays).
“What do I call the professor?” My name is Artem; please, call me Artem! It is pronounced ART-yom (like Art + yom). If you get uncomfortable addressing a professor without a title, you can call me “Professor Artem”; I mildly dislike “Doctor Artem” but I can absolutely live with it as well.
2 Course Description
This course introduces the C programming language, the Linux programming environment, and parallel programming. Starting from basic syntax, students work through control flow, functions, arrays, strings, structs, pointers, file I/O, and dynamic memory allocation to build fluency in C. Alongside the language, students use Linux from the command line to manage files, build multi-file programs with a compiler and Makefile, and debug with GDB. The course culminates in parallel programming with POSIX threads and OpenMP.
3 Learning Objectives
Students successfully completing the course will be able to:
- Write C programs using the core language: control flow, functions, arrays, strings, structs, pointers, file I/O, and dynamic memory allocation.
- Perform basic file and process management tasks in Linux from the command line.
- Write C programs that span several source files, and build them with a compiler and a Makefile.
- Use a debugger to identify problems in C programs.
- Write C programs that use pthreads to run in multiple threads.
- Write C programs that use OpenMP to run in multiple threads.
- Communicate about code: explain a program’s behavior and design decisions, and discuss them with others.
4 Prerequisites
Any computer science course numbered CMSC 115 or higher. No prior C or Linux experience is required.
5 Textbooks
This course is based on several free resources, most of them available online.
Main textbooks
[DIS] https://diveintosystems.org/ – Dive Into Systems by Matthews et al. covers C, the Linux toolchain and shared-memory parallelism. Written by a distributed team of educators from good teaching-focused US colleges for today’s students. Has interactive exercises.
[BGC] https://beej.us/guide/bgc/ – Beej’s Guide to C Programming, a thorough tour of the language and its standard library. The language is informal by the insights are deep.
Secondary textbooks
[LLNL] https://hpc-tutorials.llnl.gov/posix/ – Lawrence Livermore’s POSIX threads tutorial, the usual reference for pthreads.
[K&R] The C Programming Language by Kernighan and Ritchie – old, legendary, short (by modern standards) textbook, still highly regarded; neither free nor required.
[CB] https://publications.gbdirect.co.uk/c_book/ – The C Book by Banahan, Brady and Doran, a systematic reference for the language; free online.
[LC] https://www.learn-c.org/ – an interactive C tutorial with in-browser exercises.
6 Assessment
Assignments are graded for correctness and not style (but see Presentation and Exams below). They are meant to be started in class and finished at home. Hand them in on Brightspace, which keeps the most recent upload — so submit early and replace it as you go.
Quizzes will appear on Brightspace and be worked on in class, with two attempts: one at the start of the class and another towards the end.
Presentation: for every assignment, we pick one or more students at random to explain their solutions to the class and answer possible questions from the class (including the instructor). The questions concern both correctness and style. Presentation is graded on presence, not performance: present, and you have full credit for it, however the explanation goes. What the discussion can revise is the grade on that assignment, if it turns up a style problem — that is the one route by which style reaches an assignment grade.
Once in the term you may pass. Say so when you are picked; no reason is needed and none will be asked for. Passing costs you nothing, because Presentation is scored over the presentations you actually give rather than the times your name comes up. It does not take you out of the pool — your name goes back in and you should expect to be picked again.
Exams (midterm and final) are modeled after assignments and graded for both correctness and style.
7 Grades
Your overall course grade is a certificate of how you did: an A means you did excellent work, a B means you did good work, and a C means you did fair work. We compute a weighted total over the assessment types according to the table.
| Assignments | Quizzes | Presentation | Midterm exam | Final exam |
|---|---|---|---|---|
| 10% | 10% | 10% | 35% | 35% |
Weighted totals are rounded to the nearest integer and converted to letter grades.
| A | A- | B+ | B | B- | C+ | C | C- | D+ | D | F |
|---|---|---|---|---|---|---|---|---|---|---|
| 100–92 | 91–90 | 89–88 | 87–82 | 81–80 | 79–78 | 77–72 | 71–70 | 69–68 | 67–60 | 59–0 |
8 Policies
8.1 Make-ups, drops, late work
- Non-exams: late work is not accepted and scores zero. In lieu of make-ups, the two lowest-scoring entries are dropped in each of Assignments and Quizzes. Presentation is not dropped — the one-time pass described above is what stands in for it.
- Midterm exam: make-ups are voluntary, one per exam, and must be requested within one week of the grade being published; the grade will be split 80/20 between the best and the worst attempt.
- Final exam: no make-up in general. If you cannot take an exam due to circumstances beyond your control, you must notify me beforehand (or as soon as possible if prior notice is not feasible) to arrange an exceptional make-up.
8.2 Collaboration
Discussion of concepts is encouraged both in class and outside it, including on Discord. All submitted work must be your own.
8.3 Device Policy
Preamble. Classroom is a communal space, and your actions can affect others’ learning. In particular, what you have on your screen may be in the field of view of other students. Because of this, you are responsible for a fragment of the attention of everyone in a cone of space behind you. There is even research that shows that the content of screens in the classroom, even quite far away, can have a detrimental effect on learning.
Policy. If you use a device, you must have lecture-related content onscreen. If you know in advance that some of your off-topic tasks have to handled on screen during lecture, sit in the back row so that the blast radius of your activity is minimal.
8.4 AI policy
Preamble. Generative AI powered by large language models has changed how the software industry works, and keeps changing it — we are in a developing story. Likely, it will soon be impossible to do the job without so-called AI agents (Claude Code and the like). Yet many professional tools are taught late in the curriculum, or not at all. Often there are good reasons for this apparent lag between education and industry. In particular, while AI-powered tools are becoming ubiquitous, there is no indication that the foundations taught in this course are becoming less useful. A computer-science professional still has to acquire them, and for that, we believe, coding solutions by hand is essential.
Policy
- Nays
- No AI-generated code: all code you submit must be your own.
- No copy-pasting or other help from chatbots (ChatGPT, Google Gemini and the like) for any problem, including code and quizzes.
- One exception: using AI to improve the grammar and style of text you wrote yourself, for the purpose of sharing it with the instructor or the class, is acceptable.
- No AI autocomplete or in-editor coding assistants (GitHub Copilot, Cursor and the like): a suggestion you accepted is not code you wrote.
- No asking AI to solve a problem from this class before that problem is due — not even for “just taking a look”.
- Yays
- Discussing course concepts, and failures in your working environment, with chatbots is acceptable and may be beneficial.
- Once a problem is due, asking AI to produce a solution to it is acceptable and may be beneficial, for the purpose of discussing the course concepts or comparing against your own solution.
- An individual problem may come with its own directions for using AI; those override the principles above.
If in doubt, ask the instructor whether something is appropriate. Asking after the fact will not be punished unless the incident is problematic and similar to one discussed before.
9 University Policies
9.1 Student Code of Conduct
Commonwealth University’s Student Code of Conduct prohibits the violation of any University policy as well as local, state, or federal laws. Expressly included in this expectation are any federal, state, regional, or local emergency orders or declarations, mandatory policies, or mandatory health advisory requirements, including those made by the University President. Violations of the Student Code of Conduct will be reported to office of Office of Student Conduct.
9.2 Students Requesting Academic and/or Access Accommodations
Commonwealth University is committed to providing equitable access to educational experiences, campus facilities, digital learning environments, and university-sponsored programs and activities. Disability Services partners with students, faculty, and staff to ensure equal access in accordance with the Americans with Disabilities Act (ADA), Section 504 of the Rehabilitation Act, and other applicable federal and state laws.
Students who have, or believe they may have, a disability that requires academic or access to accommodations should contact Disability Services at their home campus as early as possible, preferably within the first two weeks of the semester or immediately following a diagnosis. Early communication helps ensure accommodations are implemented in a timely manner.
- Bloomsburg: Warren Student Services Room 043, or call 570-389-4491 UDSbloomsburg@commonwealthu.edu
- Lock Haven: 205 Ulmer Hall, or call 570-484-2454 UDSlockhaven@commonwealthu.edu
- Mansfield: 147 South Hall, or call 570-662-4150 UDSmansfield@commonwealthu.edu
Once a student is determined eligible for accommodations, Disability Services will prepare an accommodation letter outlining approved academic and/or accessibility accommodations. Students are responsible for sharing their accommodation letter with each instructor and should renew their accommodations through Disability Services at the beginning of each semester.
As Commonwealth University continues to enhance the accessibility of its digital learning environment, students who experience barriers related to course materials, instructional technologies, or other digital resources are encouraged to contact both their instructor and Disability Services as soon as possible so that appropriate accommodations or accessible alternatives can be provided.
9.3 Statement on Diversity, Equity, Inclusion, and Belonging
Commonwealth University recognizes its responsibility to foster a living, learning, and working environment that values the contributions of all members of our campus community. Diversity, equity, inclusion, and belonging strengthen our university and are essential to our institutional success. We strive to cultivate a climate in which all members of the Commonwealth University community can embrace these values and thrive in the classroom, in the workplace, and in their professional and personal lives beyond the University.
We demonstrate our commitment to diversity, equity, inclusion, and belonging across our campus communities by:
Supporting and promoting the intellectual and personal growth of students both inside and outside the classroom.
Providing workshops, training opportunities, and programs that broaden understanding of diversity, equity, inclusion, and belonging.
Ensuring that our learning, living, and working environments are welcoming, accessible, and responsive to the needs of all individuals.
You can explore more at: Diversity, Equity, Inclusion, and Belonging at Commonwealth University
9.4 Attendance Policy
Regular and punctual attendance is an important component of student success and is expected in all course delivery modalities, including in-person, online, and hybrid courses. Students are responsible for attending class, participating in course activities, and communicating promptly with their instructor if circumstances prevent attendance.
Students who miss class due to a university-excused absence or other legitimate circumstances, such as illness, serious mitigating circumstances, official military service, official University representation, religious observances, approved disability accommodations, or civic and legal obligations, should notify the instructor as soon as possible. When appropriate documentation is provided, students will be afforded a reasonable opportunity to make up graded coursework without penalty in accordance with the University’s Attendance Policy and the instructor’s course policies.
Students should also consult the University’s Attendance Policy, 1-23 and work with their instructor to address any attendance concerns in a timely manner.
9.5 Academic Integrity
Academic integrity is the foundation of teaching, learning, and scholarship at Commonwealth University. It reflects a commitment to honesty, trust, fairness, respect, responsibility, and courage in all academic endeavors. Students are expected to complete their work ethically, acknowledge the ideas and contributions of others appropriately, and demonstrate integrity in all coursework.
Academic dishonesty includes any act of fraud, deceit, misrepresentation, or unauthorized assistance intended to gain academic credit or influence the grading process in ways that are inconsistent with university policy or course expectations. Examples include, but are not limited to, plagiarism, cheating, unauthorized collaboration, fabrication or falsification of information, unauthorized use of generative artificial intelligence (AI) tools, and assisting others in acts of academic dishonesty.
The University is committed to fostering a community where integrity guides teaching, learning, and scholarship. Faculty are encouraged to communicate clear expectations regarding academic integrity, citation practices, collaboration, and the appropriate use of AI technologies. Students are responsible for familiarizing themselves with and adhering to the University’s Academic Integrity Policy, Policy 1-02.
9.6 Grade Appeal Policy
Commonwealth University is committed to ensuring that final course grades are assigned fairly and consistently. Students may appeal a final course grade if they believe any of the following has occurred: (1) a significant and unwarranted deviation from the published grading criteria or course syllabus, (2) arbitrary grading, or (3) grading that is inconsistent with University policy. Appeals may not be based solely on disagreement with the instructor’s academic standards, workload, grading scale, or dissatisfaction with the earned grade.
Students are encouraged to first discuss their concerns with the instructor of record. If the issue cannot be resolved informally, students should next consult the department chair and then the dean (or designee) before initiating a formal appeal. A grade appeal should be initiated within 10 class days of the beginning of the next regular semester following the assignment of the final grade. Complete procedures, deadlines, and information about the formal appeal process are available Grade Appeal Policy, 1-19.
9.7 Undergraduate Final Examination and Evaluative Assessment Policy
The final examination or evaluative assessment is an important component of this course and provides students with an opportunity to demonstrate their achievement of the course learning outcomes. Depending on the instructor’s course design, the final assessment may consist of a traditional examination or another culminating assessment, such as a project, presentation, portfolio, paper, performance, or other evaluative activity. Details regarding the final assessment will be provided by the instructor.
Final examinations and evaluative assessments are administered during the University’s official final examination period. Students enrolled in face-to-face, hybrid, synchronous online, or asynchronous online courses are expected to complete the final assessment according to the schedule and instructions provided by the instructor. Students should avoid making travel or other commitments that conflict with the University’s final examination period, as alternative arrangements are granted only under limited circumstances in accordance with Policy Number 1-15.
Students should consult the Commonwealth University Undergraduate Final Examination and Evaluative Assessment Policy and the official final examination schedule for additional information.
9.8 Copyright and Fair Use
Commonwealth University is committed to respecting intellectual property rights and complying with United States copyright law. Students are expected to use copyrighted materials ethically and legally in their coursework, including text, images, videos, music, software, websites, and other digital resources. Copyright protection applies to original works regardless of whether copyright notice is displayed.
Students should also be familiar with the principles of fair use, which permit limited use of copyrighted materials for purposes such as teaching, scholarship, research, criticism, and commentary under certain circumstances. Understanding when and how copyrighted materials may be used is an important part of academic and professional responsibility.
For additional information, please consult the University’s Copyrighted Materials guidance provided by Information Technology and the Copyright and Fair Use guide developed by the University Libraries.
9.9 Student Consumer Rights and Responsibilities
The Higher Education Opportunity Act (HEOA) was enacted in 2008 and reauthorized the amended Higher Education Act of 1965. HEOA requires postsecondary educational institutions to distribute or make publicly available a broad range of information collectively known as Student Consumer Information. Topics covered under HEOA include student financial aid, campus health and safety, student outcomes, and general institutional information.
Commonwealth University Consumer Information website: Consumer Information
9.10 Title IX and Protection of Minors Legislation: Reporting Obligations
Commonwealth University and its faculty are committed to assuring a safe and productive educational environment for all students.
9.10.1 Sexual Discrimination or Misconduct and Title IX Requirements
In order to meet this commitment and to comply with Title IX of the Educational Amendments of 1972, all University officials, volunteers and employees (including student employees) are obligated to report incidents of sexual misconduct of which they become aware to the Title IX Coordinator/designee, unless: 1) they serve in a role that makes such reports privileged or are recognized as providing a confidential resource; or 2) they are a faculty member and learn of the report from a student during a classroom discussion, in a writing assignment for a class, or as part of a University-approved research project. These reporting exceptions do not apply to report of sexual misconduct involving an individual who was, or is, a child (a person under 18 years of age) when the abuse allegedly occurred. When a report involved suspected abuse of a child (an individual under the age of 18 at the time of the incident(s) as reported), all University employees, officials and volunteers are required to notify the University police and the Child Line run by the Pennsylvania Department of Human Services.
Reports regarding Title IX and sexual misconduct should be directed to Title IX Coordinator titleixcoord@commonwealthu.edu or by completing an online form on the Title IX webpage.
Additional information regarding the reporting of sexual violence and the resources that are available to victims of sexual assault and/or harassment can be found here: Commonwealth University Title IX Office
9.10.2 Protection of Minors Requirements
Faculty members are obliged to report sexual violence or any other abuse of a student who was, or is, a child (a person under 18 years of age) when the abuse allegedly occurred. Mandated reporters must immediately make an oral report of suspected child abuse to the Department of Human Services (DHS) by calling 800-932-0313. Immediately following the report to DHS, the mandated reporter must notify Officer in Charge at Bloomsburg by calling 570-389-2211 or 570-389-4168, as designated in the University’s protection of minor’s policy. No exceptions apply to this reporting obligation. Detailed information is available at:
Commonwealth University Protection of Minors: PRP 2410 Background Screening, Protection of Minors, Volunteerism
All student-facing policies can be found at University Policies and Student Handbook.
9.11 Recording Policy
All classroom work, including (but not limited to) lectures, discussions, and/or group activities, is proprietary and not subject to public disclosure or distribution in the absence of express permission. Unauthorized recording of any part of this class (whether audio, video, or both) is strictly prohibited. Approval to record classroom activities may be obtained from the Office of Disability Services upon determination that the recording of this class is an approved accommodation. No recordings may be published, rebroadcast and/or released in any form without my express permission. Violation of this policy could result in disciplinary action up to and including course failure, reporting to the Dean of Student Affairs, and/or referral to external authorities.
9.12 Academic Freedom
Consistent with the CBA (Article 2), Academic Freedom refers to the idea that faculty are entitled to full freedom to teach, discuss, research, and publish in their academic field without interference from administrators, boards of trustees, political figures, donors, or other entities. Faculty members are entitled to freedom in the classroom when discussing their subject, so long as the material stimulates debate and learning is relevant to the subject matter, even if it is controversial (see also AAUP policy).
9.13 Respectful Ethical Communication and Anti-Doxxing Policy
To maintain a safe and ethical learning environment, students may not share or post personal information about the instructor or classmates, such as home addresses or personal contact information, without express permission. Students’ conduct in the classroom and the use of course materials shall comply with relevant university policies. Suspected violations may be referred to the appropriate internal and/or external authorities.
9.14 Critical Thinking and Academic Inquiry
This course is designed to support critical thinking. Critical thinking means examining evidence, considering relevant scholarly perspectives, asking questions, and forming your own conclusions. By contrast, indoctrination presents beliefs as unquestioned truths without regard for evidence or other scholarly perspectives, whereas this course is grounded in critical thinking.
Consistent with principles of academic freedom, the course fosters engagement with ideas and credible scholarship. Course materials are selected based on evidence, expertise, and learning outcomes. You are encouraged to question ideas, compare frameworks, and develop your own reasoned positions. Your grade is based on how you follow the assignments’ guidelines and engage with evidence and arguments. You will not be penalized simply for reaching conclusions that differ from those of your instructor or classmates. Grades reflect how well your work meets the stated assignment criteria (e.g., instructions, rubric, quality of reasoning, and use of evidence), not the particular position you take. This approach reflects a foundational principle of higher education: students learn discipline-specific ways of knowing.
10 Acknowledgements
This syllabus was composed by Artem Pelenitsyn with input from several sources. I am grateful to the authors of these sources: Robert Montante, Daniel Patterson, Shriram Krishnamurthi, Daniel Patterson, Joe Gibbs Politz.