From BU Computer Science
Jump to navigation Jump to search

CSC 121: Programming 1: Control Structures: 3 hours.


An introduction to computer application development using a high level, object oriented, GUI based language. Emphasis is on the use of problem solving methods, algorithms, control structures, documentation and debugging. Two lectures and one lab per week.

Goals for CSC 121 are:

Upon completion of the course, students will

  1. Be able to write small (two pages) programs independently of outside help
  2. Begin to develop technical writing skills
  3. Have developed simple habits of secure programming

Course outcomes for CSC 121 are:

Upon completion of CSC 121, students will know:

  • how to write 2 - 3 page programs in a high level language
  • how to document code and a program
  • how to come up with a simple testing plan that includes input, output, and some error conditions
  • how to work with a simple IDE to debug a program

Program outcomes for CSC 121 are:

  1. Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions.
  2. Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline.
  3. Communicate effectively in a variety of professional contexts.
  4. Recognize professional responsibilities and make informed judgments in computing practice based on legal, ethical, and moral principles.
  5. Apply computer science theory and software development fundamentals to produce computing-based solutions.


  1. Self-learning at the introductory level by having some programming assignments that include using some simple features not covered in class (such as simple math function, formatting, string functions that are easy to understand and covered by the textbook)
  2. Note taking at the introductory level by not posting lecture notes and holding students responsible for the content.
  3. Technical writing at the introductory level by requiring students to understand and properly express a problem summary and requirements and the steps of a program and a complete (but somewhat informal) testing report.
  4. Professionalism at the introductory level by having students track how long it takes to write programs (so that they are better equip to estimate this in the future) and comment on what they learned and what they would want to to better with a program if they could.
  5. Cybersecurity at an introductory level by requiring students to document possible invalid input what happens for all programs. By the end of the semester, they should handle some of the invalid input (i.e. secure programming).
  6. Ethics at an introductory level by having at least two programs assigned that could have ethical implications and having the students discuss that in their reports.


  • Professor: Dr. Cathy Bareiss
  • Office SB 027
  • Class Time: 9:30TR or 12:30 TR
  • Lab Time: 2:00-4:20 F or (2:00-3:20 R and 3:00-4:20 F)
  • Class Location: S 025 or S 030
  • Textbook: Student membership in ACM (see which provides free access to:
    Python: An Introduction to Programming by By: James R. Parker, Mercury Learning © 2017 ISBN: 9781944534653

Course Content


  * Covid related polices, etc
  * Integrity
  * Late work 
  * Software Standards
  * Software Development Report:  A sample software development report:  File:SDRDemo1.pdf



  • Homework and quizzes - worth 10%
  • Programs -> worth 45%
  • Exams -> worth 45%. Final is cumulative and worth twice a normal exam.
  • Grade scale
    • 93% <= average <= 100% -> A
    • 90% <= average < 93% -> A-
    • 87% <= average < 90% -> B+
    • 83% <= average < 87% -> B
    • 80% <= average < 83% -> B-
    • 77% <= average < 80% -> C+
    • 73% <= average < 77% -> C
    • 70% <= average < 73% -> C-
    • 67% <= average < 70% -> D+
    • 63% <= average < 67% -> D
    • 60% <= average < 63% -> D-
    • 0% <= average < 60% -> F

Tentative Schedule

Tuesday Thursday Lab
Jan 12
Syllabus, Chapters 0 & 1, First Program
Jan 14
Jan 14/15
Lab 1: First program, including selection: Problem 6 from chapter 1
Jan 19
Chapter 2: Repetition
Jan 21
Jan 21/22
Lab 2: Problem 9 from chapter 2
Jan 26
Chapter 3: Strings, etc.
Jan 28
Chapter 3
Jan 28/29
Lab 3: Problem 9 from chapter 3 (problem 10 is extra credit)
Feb 2
Feb 4
Feb 4/5
Feb 9
Chapter 4: Functions
Feb 11
Feb 11/12
Feb 16
Feb 18
Feb 18/19
Feb 23
Chapter 5: Files
Feb 25:
Feb 25/26
Mar 2
Spring Break
Mar 4
Exam 2
Mar 4/5
Mar 9
Chapter 6: Classes
Mar 11
Mar 11/12
Mar 16 Mar 18 Mar 18/19
Mar 23 Mar 25 Mar 25/26
Mar 30 Apr 1
Easter Break
Apr 1/2
Easter Break
Apr 6 Apr 8 Apr 8/9
Apr 13 Apr 15 Apr 15/16
Apr 20 Apr 22 Apr 22/23
Apr 27
Final Exam: 8:00 or 10:30
Apr 29 Apr 29/30


ADA Statement for Syllabi: The Americans with Disabilities Act (ADA) is a law which provides civil rights protection for people with disabilities. Bethel University, in compliance with equal access laws, requests that students with disabilities seeking to acquire accommodations make an appointment with the Center for Academic Success—Disability Services. It is located in the Miller-Moore Academic Center, 033. You may also phone 574-807-7460 or email for an appointment.

DEI Statement

During this particularly difficult time, this statement momentarily underscores and deepens what is expressed in the Lifestyle Covenant regarding the dignity of all humans. The statement will remain in all Bethel Faculty syllabi until spring 2023 and then be remanded back to the Faculty. Bethel University respects the dignity of all God’s image-bearers, and stands against racism, prejudice, and discrimination. Because Christ calls us to love our neighbor as ourselves, Christian discipleship includes pursuing the good of those who suffer injustice due to their color, race, or ethnicity. Therefore, we aim to continually transform our classrooms into safe and hospitable spaces where we listen to one another with mercy, learn from and value each other with tenacity, and commit to pursuing justice for the most vulnerable in our community.