Difference: CSC221SylS2026 (1 vs. 8)

Revision 82026-02-11 - CathyBareiss

Line: 1 to 1
 
META TOPICPARENT name="SyllabiSpring2026"

CSC 221: Programming 2: Design and Object-Oriented Programming 1: 3 hours

Description

Description

A continuation of Programming 1. Students learn to design more complex larger object-oriented programs. Also includes graphical, event, and concurrent programming.

Goals for CSC 221 are:

  1. Write non-trivial programs on their own
  2. Understand and use OO program concepts well
  3. Improve the security of their program
  4. Understand the basics of multi-threaded programming

Course outcomes for CSC 221 are:

  • Upon complete of CSC 221, students will:
    • be able to design and code complex multi-object programs.
    • be able to develop graphics based interfaces for programs
    • understand the fundamentals of event and concurrent programming.
    • understand the fundamentals of additional programming tools and environments including source code version software

Program outcomes for CSC 221 are:

  1. Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (Computing student learning outcome 1)
  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. (Computing student learning outcome 2)
  3. Communicate effectively in a variety of professional contexts. (Computing student learning outcome 3)
  4. Recognize professional responsibilities and make informed judgments in computing practice based on legal, ethical, and moral principles. (Computing student learning outcome 4)
  5. Function effectively as a member or leader of a team engaged in activities appropriate to the program’s discipline. (Computing student learning outcome 5)
  6. Learn new areas of technology. (Computing student learning outcome 6)
  7. Apply computer science theory and software development fundamentals to produce computing-based solutions. (Computer Science student learning outcome 1)
  8. Support the delivery, use, and management of information systems within an information systems environment. (Computing and Information Systems student learning outcome 1)
  9. Apply security principles and practices to maintain operations in the presence of risks and threats. (Cyber Security student learning outcome 1)

Integration

  1. Self-learning at the introductory level by having some programming assignments that include using some simple features not covered in class
  2. Note taking at the introductory level by not posting lecture notes and holding students responsible for the content.
  3. Technical writing at the application level by requiring students to do a formal software development report and requiring quality writing (and grading the quality of the writing), Also by the end of the semester by refusing to accept reports that don't meet a bare min. standard (such as standards, spell check, using bullet lists as appropriate.
  4. Team work at the introductory level by having at least two assignments where students are working in teams
  5. Professionalism at the introductory level by having students estimate how long it takes to write programs and then analyze their estimate based on how long it actually took. They will also comment on what they learned and what they would want to to better with a program if they could.
  6. 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).
  7. Ethics at an introductory level by having at least one program assigned that could have ethical implications and having the students discuss that in their reports.
Line: 32 to 32
 
Added:
>
>
 

Extra credit

  • Extra credit will only be made available based on the entire class needs. Such as an exam that most people did poorly on despite a good effort.

Grades

Line: 68 to 71
 
1/19
No classes
1/20: FSM coding cont. 1/22: Inheritance 1/23: Neurons with interfaces design/testing lab
1/26: Inheritance 1/27: Neurons d/t cont. 1/29: Inheritance 1/30: Neurons with interfaces coding lab
2/2: Exam 1 2/3: Neurons coding cont. 2/5: Secure coding 2/6: Game inheritance design/testing lab
Changed:
<
<
2/9: Secure coding 2/10: Game Inheritance d/t cont. 2/12: GUI programming 2/13: Game inheritance coding lab
2/16: GUI programming 2/17: Game Coding cont. 2/19: SIGCSE
Exam 2
2/20: GUI lab design
2/23: Merge Sort, big O review 2/24: Gui lab coding 2/26 2/27: GUI lab coding
>
>
2/9: Secure coding 2/10: Game Inheritance d/t cont. 2/12: GUI programming 2/13: Game inheritance d/t cont.
2/16: GUI programming 2/17: Game Coding Lab 2/19: SIGCSE
Exam 2
2/20: Game Coding (cont.)
2/23: Merge Sort, big O 2/24: Game Coding (cont.) 2/26: Inheritance (abstract methods) 2/27: GUI Design Lab
 
3/2
Spring break
3/3
Spring Break
3/5
Spring Break
3/6
Spring Break
Changed:
<
<
3/9 3/10 3/12 3/13
3/16 3/17 3/19 3/20
3/23 3/24 3/26 3/27
3/30 3/31 4/2
Easter
4/3
Easter
4/6 4/7 4/9 4/10
4/13 4/14 4/16 4/17
4/20 4/21 4/23 4/24
>
>
3/9: Inheritance 3/10: GUI d/t (cont.) 3/12: Inheritance 3/13: GUI Coding Lab
3/16: Inheritance 3/17: GUI coding cont. 3/19: Exam 3 3/20: Neural Network design lab
3/23: Concurrency 3/24: Neural network d/t cont. 3/26: concurrency 3/27: Network Network coding lab
3/30: Independent learning 3/31: Neural network coding cont. 4/2
Easter
4/3
Easter
4/6: Linked Lists 4/7: Neural network with concurrency coding 4/9: Linked lists 4/10: Neural Network with concurrency cont.
4/13: Stacks/Queues 4/14: Linked list d/t cont. 4/16: Stack/Queues 4/17: Linked list d/t cont.
4/20: Stacks/Queues 4/21: Linked List coding 4/23: Exam 4 4/24: Linked List coding cont.
 
4/27: Finals week 4/28: FinalsWEDNESDAY
1:00-3:00
4/30: Finals week 4/31: Finals week

Campus Integrity Policy

The student handbook (p. 156) states: “Any act of deceit, falsehood or stealing by unethically copying or using someone else’s work in an academic situation is strictly prohibited.

  1. A student found guilty of plagiarism or cheating will receive an “F”(zero) for that particular paper, assignment or exam. Should this occur, the professor will have an interview with the student and will submit a written report of the incident to the academic dean.
  2. If a second offense should occur, the student will be asked to appear before the professor, the academic dean and the vice president for student development.

The student should realize that at this point continuation in a course and even his/her academic career may be in jeopardy. In the event of a recommendation for dismissal, the matter shall be referred to the Student Development Committee.”

AI Use Policy

It is expected that any coursework (including, but not limited to, essays, papers, exams, projects, and lab reports) submitted by a student will be a product of their own creation, demonstrating their achievement of the learning outcomes related to the assigned task. With this in mind, note that submitting work that includes unauthorized or undocumented use of Artificial Intelligence (AI) may be considered as cheating or plagiarism. If you are unsure about appropriate use of AI on a given assignment, talk with your professor.

Services

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 rachel.kennedy@betheluniversity.edu for an appointment.

Education Majors:

Please use the link below to review all appropriate standards. Standards \ No newline at end of file

Revision 72026-01-27 - CathyBareiss

Line: 1 to 1
 
META TOPICPARENT name="SyllabiSpring2026"

CSC 221: Programming 2: Design and Object-Oriented Programming 1: 3 hours

Description

Description

A continuation of Programming 1. Students learn to design more complex larger object-oriented programs. Also includes graphical, event, and concurrent programming.

Goals for CSC 221 are:

  1. Write non-trivial programs on their own
  2. Understand and use OO program concepts well
  3. Improve the security of their program
  4. Understand the basics of multi-threaded programming

Course outcomes for CSC 221 are:

  • Upon complete of CSC 221, students will:
    • be able to design and code complex multi-object programs.
    • be able to develop graphics based interfaces for programs
    • understand the fundamentals of event and concurrent programming.
    • understand the fundamentals of additional programming tools and environments including source code version software

Program outcomes for CSC 221 are:

  1. Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (Computing student learning outcome 1)
  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. (Computing student learning outcome 2)
  3. Communicate effectively in a variety of professional contexts. (Computing student learning outcome 3)
  4. Recognize professional responsibilities and make informed judgments in computing practice based on legal, ethical, and moral principles. (Computing student learning outcome 4)
  5. Function effectively as a member or leader of a team engaged in activities appropriate to the program’s discipline. (Computing student learning outcome 5)
  6. Learn new areas of technology. (Computing student learning outcome 6)
  7. Apply computer science theory and software development fundamentals to produce computing-based solutions. (Computer Science student learning outcome 1)
  8. Support the delivery, use, and management of information systems within an information systems environment. (Computing and Information Systems student learning outcome 1)
  9. Apply security principles and practices to maintain operations in the presence of risks and threats. (Cyber Security student learning outcome 1)

Integration

  1. Self-learning at the introductory level by having some programming assignments that include using some simple features not covered in class
  2. Note taking at the introductory level by not posting lecture notes and holding students responsible for the content.
  3. Technical writing at the application level by requiring students to do a formal software development report and requiring quality writing (and grading the quality of the writing), Also by the end of the semester by refusing to accept reports that don't meet a bare min. standard (such as standards, spell check, using bullet lists as appropriate.
  4. Team work at the introductory level by having at least two assignments where students are working in teams
  5. Professionalism at the introductory level by having students estimate how long it takes to write programs and then analyze their estimate based on how long it actually took. They will also comment on what they learned and what they would want to to better with a program if they could.
  6. 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).
  7. Ethics at an introductory level by having at least one program assigned that could have ethical implications and having the students discuss that in their reports.
Line: 37 to 37
 

Grades

Your grades are made up of:

Changed:
<
<
  • Exams are worth 50%. The final is cumulative and is worth twice a regular exam.
>
>
  • Exams are worth 50%. The final is cumulative and is worth twice a regular exam. It is expected that to pass the course, one must have a passing average on the exams.
 
  • Labs are worth 45%. * Each lab is worth as follows: (for the labs that have four parts)
Changed:
<
<
* Prelab: portion 3% * Design portion: 42% * Coding portion: 50% * Post lab portion: 5%
>
>
      • Prelab: portion: 5%
      • Design portion: 40%
      • Planning portion: 5%
      • Coding portion: 40%
      • Post lab portion: 10%
 
  • Homeworks, quizzed, etc. are worth that last 5%

  • Grade scale

Revision 62026-01-20 - CathyBareiss

Line: 1 to 1
 
META TOPICPARENT name="SyllabiSpring2026"

CSC 221: Programming 2: Design and Object-Oriented Programming 1: 3 hours

Description

Description

A continuation of Programming 1. Students learn to design more complex larger object-oriented programs. Also includes graphical, event, and concurrent programming.

Goals for CSC 221 are:

  1. Write non-trivial programs on their own
  2. Understand and use OO program concepts well
  3. Improve the security of their program
  4. Understand the basics of multi-threaded programming

Course outcomes for CSC 221 are:

  • Upon complete of CSC 221, students will:
    • be able to design and code complex multi-object programs.
    • be able to develop graphics based interfaces for programs
    • understand the fundamentals of event and concurrent programming.
    • understand the fundamentals of additional programming tools and environments including source code version software

Program outcomes for CSC 221 are:

  1. Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (Computing student learning outcome 1)
  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. (Computing student learning outcome 2)
  3. Communicate effectively in a variety of professional contexts. (Computing student learning outcome 3)
  4. Recognize professional responsibilities and make informed judgments in computing practice based on legal, ethical, and moral principles. (Computing student learning outcome 4)
  5. Function effectively as a member or leader of a team engaged in activities appropriate to the program’s discipline. (Computing student learning outcome 5)
  6. Learn new areas of technology. (Computing student learning outcome 6)
  7. Apply computer science theory and software development fundamentals to produce computing-based solutions. (Computer Science student learning outcome 1)
  8. Support the delivery, use, and management of information systems within an information systems environment. (Computing and Information Systems student learning outcome 1)
  9. Apply security principles and practices to maintain operations in the presence of risks and threats. (Cyber Security student learning outcome 1)

Integration

  1. Self-learning at the introductory level by having some programming assignments that include using some simple features not covered in class
  2. Note taking at the introductory level by not posting lecture notes and holding students responsible for the content.
  3. Technical writing at the application level by requiring students to do a formal software development report and requiring quality writing (and grading the quality of the writing), Also by the end of the semester by refusing to accept reports that don't meet a bare min. standard (such as standards, spell check, using bullet lists as appropriate.
  4. Team work at the introductory level by having at least two assignments where students are working in teams
  5. Professionalism at the introductory level by having students estimate how long it takes to write programs and then analyze their estimate based on how long it actually took. They will also comment on what they learned and what they would want to to better with a program if they could.
  6. 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).
  7. Ethics at an introductory level by having at least one program assigned that could have ethical implications and having the students discuss that in their reports.
Line: 30 to 30
 
  1. Write a reaction to one article in XRDS. It must be programming related. This needs to be completed before the final.

Labs

Changed:
<
<
>
>
 

Extra credit

  • Extra credit will only be made available based on the entire class needs. Such as an exam that most people did poorly on despite a good effort.
Line: 64 to 64
 
Monday Tuesday Thursday Friday
1/5 1/6 1/8: Classes begin:
UML, FSM, Objects
1/9: FSM design/testing lab
1/12: Objects & testing 1/13: FSM d/t cont. 1/15: Interfaces 1/16: FSM coding lab
Changed:
<
<
1/19
No classes
1/20: FSM coding cont. 1/22: Inheritance 1/23: TicTacToe with interfaces design/testing lab
1/26: Inheritance 1/27: TicTacToe d/t cont. 1/29: Inheritance 1/30: TicTacToe with interfaces coding lab
2/2: Exam 1 2/3: TicTacToe coding cont. 2/5: Secure coding 2/6: Game inheritance design/testing lab
>
>
1/19
No classes
1/20: FSM coding cont. 1/22: Inheritance 1/23: Neurons with interfaces design/testing lab
1/26: Inheritance 1/27: Neurons d/t cont. 1/29: Inheritance 1/30: Neurons with interfaces coding lab
2/2: Exam 1 2/3: Neurons coding cont. 2/5: Secure coding 2/6: Game inheritance design/testing lab
 
2/9: Secure coding 2/10: Game Inheritance d/t cont. 2/12: GUI programming 2/13: Game inheritance coding lab
2/16: GUI programming 2/17: Game Coding cont. 2/19: SIGCSE
Exam 2
2/20: GUI lab design
2/23: Merge Sort, big O review 2/24: Gui lab coding 2/26 2/27: GUI lab coding

Revision 52026-01-07 - CathyBareiss

Line: 1 to 1
 
META TOPICPARENT name="SyllabiSpring2026"

CSC 221: Programming 2: Design and Object-Oriented Programming 1: 3 hours

Description

Description

A continuation of Programming 1. Students learn to design more complex larger object-oriented programs. Also includes graphical, event, and concurrent programming.

Goals for CSC 221 are:

  1. Write non-trivial programs on their own
  2. Understand and use OO program concepts well
  3. Improve the security of their program
  4. Understand the basics of multi-threaded programming

Course outcomes for CSC 221 are:

  • Upon complete of CSC 221, students will:
    • be able to design and code complex multi-object programs.
    • be able to develop graphics based interfaces for programs
    • understand the fundamentals of event and concurrent programming.
    • understand the fundamentals of additional programming tools and environments including source code version software

Program outcomes for CSC 221 are:

  1. Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (Computing student learning outcome 1)
  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. (Computing student learning outcome 2)
  3. Communicate effectively in a variety of professional contexts. (Computing student learning outcome 3)
  4. Recognize professional responsibilities and make informed judgments in computing practice based on legal, ethical, and moral principles. (Computing student learning outcome 4)
  5. Function effectively as a member or leader of a team engaged in activities appropriate to the program’s discipline. (Computing student learning outcome 5)
  6. Learn new areas of technology. (Computing student learning outcome 6)
  7. Apply computer science theory and software development fundamentals to produce computing-based solutions. (Computer Science student learning outcome 1)
  8. Support the delivery, use, and management of information systems within an information systems environment. (Computing and Information Systems student learning outcome 1)
  9. Apply security principles and practices to maintain operations in the presence of risks and threats. (Cyber Security student learning outcome 1)

Integration

  1. Self-learning at the introductory level by having some programming assignments that include using some simple features not covered in class
  2. Note taking at the introductory level by not posting lecture notes and holding students responsible for the content.
  3. Technical writing at the application level by requiring students to do a formal software development report and requiring quality writing (and grading the quality of the writing), Also by the end of the semester by refusing to accept reports that don't meet a bare min. standard (such as standards, spell check, using bullet lists as appropriate.
  4. Team work at the introductory level by having at least two assignments where students are working in teams
  5. Professionalism at the introductory level by having students estimate how long it takes to write programs and then analyze their estimate based on how long it actually took. They will also comment on what they learned and what they would want to to better with a program if they could.
  6. 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).
  7. Ethics at an introductory level by having at least one program assigned that could have ethical implications and having the students discuss that in their reports.
Line: 9 to 9
 
  • Lab time: 2:00-2:50 T, 1:00-1:50 F
  • Class Location: S 025
  • Textbook: Student membership in ACM. Resources from ACM Learning Center that will be used include:
Added:
>
>
    • IST Introduction to Software Testing—A Practical Guide to Testing, Design, Automation, and Execution. ISBN: 978-1-4842-9513-7. By Panagiotis Leloudas
    • OOA Object-Oriented Analysis, Design and Implementation—An Integrated Approach, Third Edition. ISBN: ISBN: 9783031712395. By Brahma Dathan and Sarnath Ramnath
    • JID Java in Depth. ISBN: ISBN: 9789386551573. By SARIKA AGARWAL and HIMANI BANSAL
    • BJP Beginning Java Programming—The Object-Oriented Approach. ISBN: 978-1-118-73949-5. By Bart Baesens and Aimée Backiel and Seppe vanden Broucke
    • JPS Java Programming Simplified—From Novice to Professional - Start at the Beginning and Learn the World of Java. ISBN: 978-93-89845-143. By Dr. Muneer Ahmad Dar
    • WGC Write Great Code—Engineering Software, Volume 3. ISBN: 978-1-59327-979-0. By Randall Hyde
 

Course Content

Policies

Revision 42025-12-31 - CathyBareiss

Line: 1 to 1
 
META TOPICPARENT name="SyllabiSpring2026"

CSC 221: Programming 2: Design and Object-Oriented Programming 1: 3 hours

Description

Description

A continuation of Programming 1. Students learn to design more complex larger object-oriented programs. Also includes graphical, event, and concurrent programming.

Goals for CSC 221 are:

  1. Write non-trivial programs on their own
  2. Understand and use OO program concepts well
  3. Improve the security of their program
  4. Understand the basics of multi-threaded programming

Course outcomes for CSC 221 are:

  • Upon complete of CSC 221, students will:
    • be able to design and code complex multi-object programs.
    • be able to develop graphics based interfaces for programs
    • understand the fundamentals of event and concurrent programming.
    • understand the fundamentals of additional programming tools and environments including source code version software

Program outcomes for CSC 221 are:

  1. Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (Computing student learning outcome 1)
  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. (Computing student learning outcome 2)
  3. Communicate effectively in a variety of professional contexts. (Computing student learning outcome 3)
  4. Recognize professional responsibilities and make informed judgments in computing practice based on legal, ethical, and moral principles. (Computing student learning outcome 4)
  5. Function effectively as a member or leader of a team engaged in activities appropriate to the program’s discipline. (Computing student learning outcome 5)
  6. Learn new areas of technology. (Computing student learning outcome 6)
  7. Apply computer science theory and software development fundamentals to produce computing-based solutions. (Computer Science student learning outcome 1)
  8. Support the delivery, use, and management of information systems within an information systems environment. (Computing and Information Systems student learning outcome 1)
  9. Apply security principles and practices to maintain operations in the presence of risks and threats. (Cyber Security student learning outcome 1)

Integration

  1. Self-learning at the introductory level by having some programming assignments that include using some simple features not covered in class
  2. Note taking at the introductory level by not posting lecture notes and holding students responsible for the content.
  3. Technical writing at the application level by requiring students to do a formal software development report and requiring quality writing (and grading the quality of the writing), Also by the end of the semester by refusing to accept reports that don't meet a bare min. standard (such as standards, spell check, using bullet lists as appropriate.
  4. Team work at the introductory level by having at least two assignments where students are working in teams
  5. Professionalism at the introductory level by having students estimate how long it takes to write programs and then analyze their estimate based on how long it actually took. They will also comment on what they learned and what they would want to to better with a program if they could.
  6. 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).
  7. Ethics at an introductory level by having at least one program assigned that could have ethical implications and having the students discuss that in their reports.
Line: 25 to 25
 

Labs

Changed:
<
<
>
>
 

Extra credit

  • Extra credit will only be made available based on the entire class needs. Such as an exam that most people did poorly on despite a good effort.

Grades

Revision 32025-12-31 - CathyBareiss

Line: 1 to 1
 
META TOPICPARENT name="SyllabiSpring2026"

CSC 221: Programming 2: Design and Object-Oriented Programming 1: 3 hours

Description

Description

A continuation of Programming 1. Students learn to design more complex larger object-oriented programs. Also includes graphical, event, and concurrent programming.

Goals for CSC 221 are:

  1. Write non-trivial programs on their own
  2. Understand and use OO program concepts well
  3. Improve the security of their program
  4. Understand the basics of multi-threaded programming

Course outcomes for CSC 221 are:

  • Upon complete of CSC 221, students will:
    • be able to design and code complex multi-object programs.
    • be able to develop graphics based interfaces for programs
    • understand the fundamentals of event and concurrent programming.
    • understand the fundamentals of additional programming tools and environments including source code version software

Program outcomes for CSC 221 are:

  1. Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (Computing student learning outcome 1)
  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. (Computing student learning outcome 2)
  3. Communicate effectively in a variety of professional contexts. (Computing student learning outcome 3)
  4. Recognize professional responsibilities and make informed judgments in computing practice based on legal, ethical, and moral principles. (Computing student learning outcome 4)
  5. Function effectively as a member or leader of a team engaged in activities appropriate to the program’s discipline. (Computing student learning outcome 5)
  6. Learn new areas of technology. (Computing student learning outcome 6)
  7. Apply computer science theory and software development fundamentals to produce computing-based solutions. (Computer Science student learning outcome 1)
  8. Support the delivery, use, and management of information systems within an information systems environment. (Computing and Information Systems student learning outcome 1)
  9. Apply security principles and practices to maintain operations in the presence of risks and threats. (Cyber Security student learning outcome 1)

Integration

  1. Self-learning at the introductory level by having some programming assignments that include using some simple features not covered in class
  2. Note taking at the introductory level by not posting lecture notes and holding students responsible for the content.
  3. Technical writing at the application level by requiring students to do a formal software development report and requiring quality writing (and grading the quality of the writing), Also by the end of the semester by refusing to accept reports that don't meet a bare min. standard (such as standards, spell check, using bullet lists as appropriate.
  4. Team work at the introductory level by having at least two assignments where students are working in teams
  5. Professionalism at the introductory level by having students estimate how long it takes to write programs and then analyze their estimate based on how long it actually took. They will also comment on what they learned and what they would want to to better with a program if they could.
  6. 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).
  7. Ethics at an introductory level by having at least one program assigned that could have ethical implications and having the students discuss that in their reports.
Line: 23 to 23
 
  1. Write a reaction to one article in the ACM TechNews. It must be programming related. This needs to be completed by midterm.
  2. Write a reaction to one article in XRDS. It must be programming related. This needs to be completed before the final.

Labs

Changed:
<
<
>
>
 

Extra credit

  • Extra credit will only be made available based on the entire class needs. Such as an exam that most people did poorly on despite a good effort.

Grades

Your grades are made up of:

Added:
>
>
  • Exams are worth 50%. The final is cumulative and is worth twice a regular exam.
  • Labs are worth 45%. * Each lab is worth as follows: (for the labs that have four parts) * Prelab: portion 3% * Design portion: 42% * Coding portion: 50% * Post lab portion: 5%
  • Homeworks, quizzed, etc. are worth that last 5%
 
  • Grade scale
    • 93% <= average <= 100% -> A
Line: 47 to 57
 

Tentative Schedule (needs fixing)

Monday Tuesday Thursday Friday
1/5 1/6 1/8: Classes begin:
UML, FSM, Objects
1/9: FSM design/testing lab
Changed:
<
<
1/12: Objects cont. 1/13: FSM d/t cont. 1/15: Interfaces 1/16: FSM coding lab
>
>
1/12: Objects & testing 1/13: FSM d/t cont. 1/15: Interfaces 1/16: FSM coding lab
 
1/19
No classes
1/20: FSM coding cont. 1/22: Inheritance 1/23: TicTacToe with interfaces design/testing lab
1/26: Inheritance 1/27: TicTacToe d/t cont. 1/29: Inheritance 1/30: TicTacToe with interfaces coding lab
2/2: Exam 1 2/3: TicTacToe coding cont. 2/5: Secure coding 2/6: Game inheritance design/testing lab

Revision 22025-12-30 - CathyBareiss

Line: 1 to 1
 
META TOPICPARENT name="SyllabiSpring2026"

CSC 221: Programming 2: Design and Object-Oriented Programming 1: 3 hours

Description

Description

A continuation of Programming 1. Students learn to design more complex larger object-oriented programs. Also includes graphical, event, and concurrent programming.

Goals for CSC 221 are:

  1. Write non-trivial programs on their own
  2. Understand and use OO program concepts well
  3. Improve the security of their program
  4. Understand the basics of multi-threaded programming

Course outcomes for CSC 221 are:

  • Upon complete of CSC 221, students will:
    • be able to design and code complex multi-object programs.
    • be able to develop graphics based interfaces for programs
    • understand the fundamentals of event and concurrent programming.
    • understand the fundamentals of additional programming tools and environments including source code version software

Program outcomes for CSC 221 are:

  1. Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (Computing student learning outcome 1)
  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. (Computing student learning outcome 2)
  3. Communicate effectively in a variety of professional contexts. (Computing student learning outcome 3)
  4. Recognize professional responsibilities and make informed judgments in computing practice based on legal, ethical, and moral principles. (Computing student learning outcome 4)
  5. Function effectively as a member or leader of a team engaged in activities appropriate to the program’s discipline. (Computing student learning outcome 5)
  6. Learn new areas of technology. (Computing student learning outcome 6)
  7. Apply computer science theory and software development fundamentals to produce computing-based solutions. (Computer Science student learning outcome 1)
  8. Support the delivery, use, and management of information systems within an information systems environment. (Computing and Information Systems student learning outcome 1)
  9. Apply security principles and practices to maintain operations in the presence of risks and threats. (Cyber Security student learning outcome 1)

Integration

  1. Self-learning at the introductory level by having some programming assignments that include using some simple features not covered in class
  2. Note taking at the introductory level by not posting lecture notes and holding students responsible for the content.
  3. Technical writing at the application level by requiring students to do a formal software development report and requiring quality writing (and grading the quality of the writing), Also by the end of the semester by refusing to accept reports that don't meet a bare min. standard (such as standards, spell check, using bullet lists as appropriate.
  4. Team work at the introductory level by having at least two assignments where students are working in teams
  5. Professionalism at the introductory level by having students estimate how long it takes to write programs and then analyze their estimate based on how long it actually took. They will also comment on what they learned and what they would want to to better with a program if they could.
  6. 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).
  7. Ethics at an introductory level by having at least one program assigned that could have ethical implications and having the students discuss that in their reports.
Line: 22 to 22
 There are two additional assignments involving reactions to current events. Announcements will not be made in class. You are responsible to track these yourself. Standard late policy will apply to these assignments.
You are to react to current events/publications. A reaction to an article includes enough to convince me that you have read the entire article and not just the headline or first paragraph. It should include a summary of what was said and your reaction. Be sure to give a complete reference to the item. These should be turned in as a hard copy in class within one week of the item being published. You may pick when. Each one does have a deadline. The ones you pick must be unique to this course
  1. Write a reaction to one article in the ACM TechNews. It must be programming related. This needs to be completed by midterm.
  2. Write a reaction to one article in XRDS. It must be programming related. This needs to be completed before the final.
Added:
>
>

Labs

 

Extra credit

  • Extra credit will only be made available based on the entire class needs. Such as an exam that most people did poorly on despite a good effort.

Grades

Line: 44 to 46
 

Tentative Schedule (needs fixing)

Monday Tuesday Thursday Friday
Changed:
<
<
1/5 1/6 1/8 1/9: First day
1/12 1/13 1/15 1/16
1/19
No classes
1/20 1/22 1/23
1/26 1/27 1/29 1/30
2/2 2/3 2/5 2/6
2/9 2/10 2/12 2/13
2/16 2/17 2/19 2/20
2/23 2/24 2/26 2/27
>
>
1/5 1/6 1/8: Classes begin:
UML, FSM, Objects
1/9: FSM design/testing lab
1/12: Objects cont. 1/13: FSM d/t cont. 1/15: Interfaces 1/16: FSM coding lab
1/19
No classes
1/20: FSM coding cont. 1/22: Inheritance 1/23: TicTacToe with interfaces design/testing lab
1/26: Inheritance 1/27: TicTacToe d/t cont. 1/29: Inheritance 1/30: TicTacToe with interfaces coding lab
2/2: Exam 1 2/3: TicTacToe coding cont. 2/5: Secure coding 2/6: Game inheritance design/testing lab
2/9: Secure coding 2/10: Game Inheritance d/t cont. 2/12: GUI programming 2/13: Game inheritance coding lab
2/16: GUI programming 2/17: Game Coding cont. 2/19: SIGCSE
Exam 2
2/20: GUI lab design
2/23: Merge Sort, big O review 2/24: Gui lab coding 2/26 2/27: GUI lab coding
 
3/2
Spring break
3/3
Spring Break
3/5
Spring Break
3/6
Spring Break
3/9 3/10 3/12 3/13
3/16 3/17 3/19 3/20

Revision 12025-11-25 - CathyBareiss

Line: 1 to 1
Added:
>
>
META TOPICPARENT name="SyllabiSpring2026"

CSC 221: Programming 2: Design and Object-Oriented Programming 1: 3 hours

Description

Description

A continuation of Programming 1. Students learn to design more complex larger object-oriented programs. Also includes graphical, event, and concurrent programming.

Goals for CSC 221 are:

  1. Write non-trivial programs on their own
  2. Understand and use OO program concepts well
  3. Improve the security of their program
  4. Understand the basics of multi-threaded programming

Course outcomes for CSC 221 are:

  • Upon complete of CSC 221, students will:
    • be able to design and code complex multi-object programs.
    • be able to develop graphics based interfaces for programs
    • understand the fundamentals of event and concurrent programming.
    • understand the fundamentals of additional programming tools and environments including source code version software

Program outcomes for CSC 221 are:

  1. Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (Computing student learning outcome 1)
  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. (Computing student learning outcome 2)
  3. Communicate effectively in a variety of professional contexts. (Computing student learning outcome 3)
  4. Recognize professional responsibilities and make informed judgments in computing practice based on legal, ethical, and moral principles. (Computing student learning outcome 4)
  5. Function effectively as a member or leader of a team engaged in activities appropriate to the program’s discipline. (Computing student learning outcome 5)
  6. Learn new areas of technology. (Computing student learning outcome 6)
  7. Apply computer science theory and software development fundamentals to produce computing-based solutions. (Computer Science student learning outcome 1)
  8. Support the delivery, use, and management of information systems within an information systems environment. (Computing and Information Systems student learning outcome 1)
  9. Apply security principles and practices to maintain operations in the presence of risks and threats. (Cyber Security student learning outcome 1)

Integration

  1. Self-learning at the introductory level by having some programming assignments that include using some simple features not covered in class
  2. Note taking at the introductory level by not posting lecture notes and holding students responsible for the content.
  3. Technical writing at the application level by requiring students to do a formal software development report and requiring quality writing (and grading the quality of the writing), Also by the end of the semester by refusing to accept reports that don't meet a bare min. standard (such as standards, spell check, using bullet lists as appropriate.
  4. Team work at the introductory level by having at least two assignments where students are working in teams
  5. Professionalism at the introductory level by having students estimate how long it takes to write programs and then analyze their estimate based on how long it actually took. They will also comment on what they learned and what they would want to to better with a program if they could.
  6. 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).
  7. Ethics at an introductory level by having at least one program assigned that could have ethical implications and having the students discuss that in their reports.

Details

  • Professor: Dr. Cathy Bareiss
  • Office SB 31
  • Class Time: 1:00-1:50 M, 2:00-2:50 R
  • Lab time: 2:00-2:50 T, 1:00-1:50 F
  • Class Location: S 025
  • Textbook: Student membership in ACM. Resources from ACM Learning Center that will be used include:

Course Content

Policies

Assignments

There are two additional assignments involving reactions to current events. Announcements will not be made in class. You are responsible to track these yourself. Standard late policy will apply to these assignments.
You are to react to current events/publications. A reaction to an article includes enough to convince me that you have read the entire article and not just the headline or first paragraph. It should include a summary of what was said and your reaction. Be sure to give a complete reference to the item. These should be turned in as a hard copy in class within one week of the item being published. You may pick when. Each one does have a deadline. The ones you pick must be unique to this course
  1. Write a reaction to one article in the ACM TechNews. It must be programming related. This needs to be completed by midterm.
  2. Write a reaction to one article in XRDS. It must be programming related. This needs to be completed before the final.

Extra credit

  • Extra credit will only be made available based on the entire class needs. Such as an exam that most people did poorly on despite a good effort.

Grades

Your grades are made up of:

  • 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 (needs fixing)

Monday Tuesday Thursday Friday
<-- -->
Sorted ascending
1/5 1/6 1/8 1/9: First day
1/12 1/13 1/15 1/16
1/19
No classes
1/20 1/22 1/23
1/26 1/27 1/29 1/30
2/2 2/3 2/5 2/6
2/9 2/10 2/12 2/13
2/16 2/17 2/19 2/20
2/23 2/24 2/26 2/27
3/2
Spring break
3/3
Spring Break
3/5
Spring Break
3/6
Spring Break
3/9 3/10 3/12 3/13
3/16 3/17 3/19 3/20
3/23 3/24 3/26 3/27
3/30 3/31 4/2
Easter
4/3
Easter
4/6 4/7 4/9 4/10
4/13 4/14 4/16 4/17
4/20 4/21 4/23 4/24
4/27: Finals week 4/28: FinalsWEDNESDAY
1:00-3:00
4/30: Finals week 4/31: Finals week

Campus Integrity Policy

The student handbook (p. 156) states: “Any act of deceit, falsehood or stealing by unethically copying or using someone else’s work in an academic situation is strictly prohibited.

  1. A student found guilty of plagiarism or cheating will receive an “F”(zero) for that particular paper, assignment or exam. Should this occur, the professor will have an interview with the student and will submit a written report of the incident to the academic dean.
  2. If a second offense should occur, the student will be asked to appear before the professor, the academic dean and the vice president for student development.

The student should realize that at this point continuation in a course and even his/her academic career may be in jeopardy. In the event of a recommendation for dismissal, the matter shall be referred to the Student Development Committee.”

AI Use Policy

It is expected that any coursework (including, but not limited to, essays, papers, exams, projects, and lab reports) submitted by a student will be a product of their own creation, demonstrating their achievement of the learning outcomes related to the assigned task. With this in mind, note that submitting work that includes unauthorized or undocumented use of Artificial Intelligence (AI) may be considered as cheating or plagiarism. If you are unsure about appropriate use of AI on a given assignment, talk with your professor.

Services

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 rachel.kennedy@betheluniversity.edu for an appointment.

Education Majors:

Please use the link below to review all appropriate standards. Standards
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2026 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback