CSC 121: Programming 1: Control Structures. 3 hours
Description
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. Lab: CSC 121L. Prerequisites: CSC 102 or permission of the instructor
Goals for CSC 121 are:
Upon completion of the course, students will
- Be able to write small (two pages) programs independently of outside help
- Begin to develop technical writing skills
- 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:
- Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (Computing student learning outcome 1)
- Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program\x92s discipline. (Computing student learning outcome 2)
- Communicate effectively in a variety of professional contexts. (Computing student learning outcome 3)
- Recognize professional responsibilities and make informed judgments in computing practice based on legal, ethical, and moral principles. (Computing student learning outcome 4)
- Understand and use appropriate cloud technologies in specified areas (Computing student learning outcome 8)
- Apply computer science theory and software development fundamentals to produce computing-based solutions. (Computer Science student learning outcome 1)
- Apply security principles and practices to maintain operations in the presence of risks and threats. (Cyber Security student learning outcome 1)
Integration
- 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)
- Note taking at the introductory level by not posting lecture notes and holding students responsible for the content.
- 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.
- 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.
- 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).
- 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.
Details
- 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 acm.org) which provides free access to:
Python: An Introduction to Programming by By: James R. Parker, Mercury Learning © 2017 ISBN: 9781944534653
Course Content
Policies
Assignments
Grades---+++
- 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 |
Mar 30 |
Apr 1 Easter Break |
Apr 1/2 Easter Break |
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 |
Apr 6 |
Apr 8 |
Apr 8/9 |
Feb 9 Chapter 4: Functions |
Feb 11 Functions |
Feb 11/12 |
Feb 16 Functions |
Feb 18 Functions |
Feb 18/19 |
Feb 23 Chapter 5: Files |
Feb 25: Files |
Feb 25/26 |
Feb 2 Review |
Feb 4 Exam |
Feb 4/5 |
Jan 12 Syllabus, Chapters 0 & 1, First Program |
Jan 14 Selection |
Jan 14/15 Lab 1: First program, including selection: Problem 6 from chapter 1 |
Jan 19 Chapter 2: Repetition |
Jan 21 Repetition |
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) |
Mar 9 Chapter 6: Classes |
Mar 11 Classes |
Mar 11/12 |
Mar 16 |
Mar 18 |
Mar 18/19 |
Mar 23 |
Mar 25 |
Mar 25/26 |
Mar 2 Spring Break |
Mar 4 Exam 2 |
Mar 4/5 |
Services
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 SuccessDisability Services. It is located in the Miller-Moore Academic Center, 033. You may also phone 574-807-7460 or email
rachel.kennedy@betheluniversity.com.edu 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 Gods 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.