Difference: CSC221SylF2023 (1 vs. 14)

Revision 142023-10-24 - CathyBareiss

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

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: 35 to 35
 
Changed:
<
<
>
>
 

Extra credit

Line: 73 to 73
 
10/02: Inheritance 10/03: GC cont. 10/04: Inheritance 10/05: Fall Break
10/09: Exam 2 10/10: Inheritance Design Lab 10/11: 10/12: CCSC Board Meeting
ID cont.
10/16 10/17: Inheritance Code Lab 10/18 10/19: IC cont.
Changed:
<
<
10/23 10/24: Objects 2 Design Lab 10/25 10/26: O2D cont.
10/30 10/31: Objects 2 Code Lab 11/01 11/02: O2C cont.
>
>
10/23 10/24: IC cont. 10/25 10/26: IC cont.
10/30 10/31: Linked List Code Lab 11/01 11/02: LLC cont.
 
11/06 11/07: Concurrency Design Lab 11/08 11/09: CD cont.
11/13 11/14: Concurrency Code Lab 11/15 11/16: CC cont.
11/20 11/21: Project Lab 11/22: Thanksgiving break 11/23: Thanksgiving break

Revision 132023-09-19 - CathyBareiss

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

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: 68 to 68
 
8/28: Objects 8/29: TD cont. 8/30: Objects 8/31: Testing code lab
9/04: Labor Day 9/05: TC cont. 9/06: GUI 9/07: Objects Design lab
9/11: Exam 1 9/12: OD cont. 9/13: GUI 9/14: Object Code lab
Changed:
<
<
9/18: Inheritance, Interfaces, etc. 9/19: OC cont. 9/20: Secure coding in Java 9/21: GUI Design Lab
>
>
9/18: Inheritance, Interfaces, etc. 9/19: OC cont. 9/20: Secure coding in Java
https://www.oracle.com/java/technologies/javase/seccodeguide.html
9/21: GUI Design Lab
 
9/25: 9/26: Service Day 9/27: Secure coding in java 9/28: GUI Code Lab
10/02: Inheritance 10/03: GC cont. 10/04: Inheritance 10/05: Fall Break
10/09: Exam 2 10/10: Inheritance Design Lab 10/11: 10/12: CCSC Board Meeting
ID cont.

Revision 122023-08-04 - CathyBareiss

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

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: 17 to 17
 
    • WGC Write Great Code—Engineering Software, Volume 3. ISBN: 978-1-59327-979-0. By Randall Hyde

Course Content

Policies

Added:
>
>
 
Changed:
<
<
>
>
 

Assignments

Changed:
<
<
2 assignments involves 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
>
>
2 assignments involve 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.
  1. 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.
Changed:
<
<
Other assignments/quizzes may be made throughout the semester
>
>
  1. Other assignments/quizzes may be made throughout the semester
 

Labs

Line: 35 to 39
 

Extra credit

Added:
>
>
  • 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. Also each lab may have the opportunity to earn some extra credit. That should only be attempted if the regular lab is completed and done well.
 

Grades

Your grades are made up of:
Added:
>
>
  • 50% of the grade is based on the exams. The final exam is worth twice a normal exam and is cumulative
  • 40% is based on the labs
  • 10% is based on homework, quizzes, etc.
 
  • Grade scale
    • 93% <= average <= 100% -> A

Revision 112023-08-02 - CathyBareiss

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

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: 12:30-1:50 TR
  • Class Location: S 025
  • Textbook: Student membership in ACM
Changed:
<
<
>
>
    • 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, Second Edition. ISBN: ISBN: 9783319242781. 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

Line: 50 to 55
 

Tentative Schedule

Monday Tuesday Lab Wednesday Thursday Lab
8/14 8/15 8/16 8/17: Class begin
Coding review Lab
Changed:
<
<
8/21: Testing 8/22: CR cont. 8/23: Testing and Objects 8/24: Testing design lab
>
>
8/21: Testing
IST: Chapters 2 & 5
8/22: CR cont. 8/23: Testing and Objects
IST: Chapters 2 & 5, WGC: Chapter 6
8/24: Testing design lab
 
8/28: Objects 8/29: TD cont. 8/30: Objects 8/31: Testing code lab
9/04: Labor Day 9/05: TC cont. 9/06: GUI 9/07: Objects Design lab
9/11: Exam 1 9/12: OD cont. 9/13: GUI 9/14: Object Code lab

Revision 102023-07-31 - CathyBareiss

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

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: 16 to 16
 

Assignments

Added:
>
>
2 assignments involves 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.
Other assignments/quizzes may be made throughout the semester

Labs

 

Revision 92023-07-28 - CathyBareiss

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

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: 17 to 17
 

Assignments

Added:
>
>
 
Deleted:
<
<
 
Line: 45 to 45
 

Tentative Schedule

Monday Tuesday Lab Wednesday Thursday Lab
8/14 8/15 8/16 8/17: Class begin
Coding review Lab
Changed:
<
<
8/21: Objects and Designing 8/22 8/23: Objects and designing 8/24: Objects design lab
8/28: Objects 8/29 8/30: GUI 8/31: Objects code lab
9/04: Labor Day 9/05 9/06: GUI 9/07: Gui Design lab
9/11: Exam 1 9/12 9/13: Inheritance 9/14: Gui Code lab
9/18: Inheritance, Interfaces, etc. 9/19 9/20: Continuation 9/21: Inheritance Design Lab
9/25: Testing 9/26: Service Day 9/27: Secure coding in java 9/28:
10/02: Testing 10/03: Inheritance Code Lab 10/04 10/05: Fall Break
10/09 10/10 10/11 10/12: CCSC Board Meeting
Testing design Lab
10/16 10/17 10/18 10/19: Testing code lab
10/23 10/24 10/25 10/26: Advanced Object design lab
10/30 10/31 11/01 11/02: Advanced Object code lab
11/06 11/07 11/08 11/09: Concurrency code lab
11/13 11/14 11/15 11/16: Project lab
11/20 11/21 11/22: Thanksgiving break 11/23: Thanksgiving break
11/27 11/28 11/29 11/30: Project lab
>
>
8/21: Testing 8/22: CR cont. 8/23: Testing and Objects 8/24: Testing design lab
8/28: Objects 8/29: TD cont. 8/30: Objects 8/31: Testing code lab
9/04: Labor Day 9/05: TC cont. 9/06: GUI 9/07: Objects Design lab
9/11: Exam 1 9/12: OD cont. 9/13: GUI 9/14: Object Code lab
9/18: Inheritance, Interfaces, etc. 9/19: OC cont. 9/20: Secure coding in Java 9/21: GUI Design Lab
9/25: 9/26: Service Day 9/27: Secure coding in java 9/28: GUI Code Lab
10/02: Inheritance 10/03: GC cont. 10/04: Inheritance 10/05: Fall Break
10/09: Exam 2 10/10: Inheritance Design Lab 10/11: 10/12: CCSC Board Meeting
ID cont.
10/16 10/17: Inheritance Code Lab 10/18 10/19: IC cont.
10/23 10/24: Objects 2 Design Lab 10/25 10/26: O2D cont.
10/30 10/31: Objects 2 Code Lab 11/01 11/02: O2C cont.
11/06 11/07: Concurrency Design Lab 11/08 11/09: CD cont.
11/13 11/14: Concurrency Code Lab 11/15 11/16: CC cont.
11/20 11/21: Project Lab 11/22: Thanksgiving break 11/23: Thanksgiving break
11/27 11/28: PL cont. 11/29 11/30: PL cont.
 
12/04
Final Exam: 1:00-3:00
12/05 12/06 12/07
Deleted:
<
<

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.”

Covid Policy

Everyone should follow the current Bethel University covid policy. See: https://www.betheluniversity.edu/intheknow for details

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.

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.

Education Majors:

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

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.”

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

Revision 82023-07-27 - CathyBareiss

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

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: 16 to 16
 

Assignments

Changed:
<
<
  • Code review Lab
>
>
 
Changed:
<
<
  • Advanced Objects Lab
  • Concurrency Lab
>
>
 

Extra credit

Grades

Revision 72023-07-24 - CathyBareiss

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

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: 18 to 18
 

Assignments

Changed:
<
<
  • GUI Lab
  • Inheritance Lab
  • Testing Lab
>
>
 
  • Advanced Objects Lab
  • Concurrency Lab
Changed:
<
<
  • Project Lab
>
>
 

Extra credit

Grades

Your grades are made up of:

Revision 62023-07-21 - CathyBareiss

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

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: 16 to 16
 

Assignments

Added:
>
>
 

Extra credit

Grades

Your grades are made up of:

Revision 52023-07-12 - CathyBareiss

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

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: 6 to 6
 
  • Professor: Dr. Cathy Bareiss
  • Office SB 31
  • Class Time: 1:00-1:50 MW
Changed:
<
<
  • Lab Time: 12:30-1:50 TF
>
>
  • Lab Time: 12:30-1:50 TR
 
  • Class Location: S 025
  • Textbook: Student membership in ACM
Line: 35 to 35
 
    • 0% <= average < 60% -> F

Tentative Schedule

Changed:
<
<
Monday Tuesday Lab Wednesday Friday Lab
8/14 8/15 8/16 8/18: Class begin
Coding review Lab
8/21: Objects and Designing 8/22 8/23: Objects and designing 8/25: Objects design lab
8/28: Objects 8/29 8/30: GUI 9/01: Objects code lab
9/04
Labor Day
9/05 9/06: GUI 9/08: Gui Design lab
9/11: Exam 1 9/12 9/13: Inheritance 9/16: Gui Code lab
9/18: Inheritance, Interfaces, etc. 9/19 9/20: Continuation 9/22: Inheritance Design Lab
9/25: Testing 9/26
Service Day
9/27: Secure coding in java 9/29:
10/02: Testing 10/03: Inheritance Code Lab 10/04 10/06
Fall Break
10/09 10/10 10/11 10/13
CCSC Board Meeting
Testing design Lab
10/16 10/17 10/18 10/20:
CCSC:MW conference
Testing code lab
10/23 10/24 10/25 10/27: Advanced Object design lab
10/30 10/31 11/01 11/03: Advanced Object code lab
11/06 11/07 11/08 11/10: Concurrency code lab
11/13 11/14 11/15 11/17: Project lab
11/20 11/21 11/22
Thanksgiving break
11/24
Thanksgiving break
11/27 11/28 11/29 11/31: Project lab
12/04
Final Exam: 1:00-3:00
12/05 12/06 12/08
>
>
Monday Tuesday Lab Wednesday Thursday Lab
8/14 8/15 8/16 8/17: Class begin
Coding review Lab
8/21: Objects and Designing 8/22 8/23: Objects and designing 8/24: Objects design lab
8/28: Objects 8/29 8/30: GUI 8/31: Objects code lab
9/04: Labor Day 9/05 9/06: GUI 9/07: Gui Design lab
9/11: Exam 1 9/12 9/13: Inheritance 9/14: Gui Code lab
9/18: Inheritance, Interfaces, etc. 9/19 9/20: Continuation 9/21: Inheritance Design Lab
9/25: Testing 9/26: Service Day 9/27: Secure coding in java 9/28:
10/02: Testing 10/03: Inheritance Code Lab 10/04 10/05: Fall Break
10/09 10/10 10/11 10/12: CCSC Board Meeting
Testing design Lab
10/16 10/17 10/18 10/19: Testing code lab
10/23 10/24 10/25 10/26: Advanced Object design lab
10/30 10/31 11/01 11/02: Advanced Object code lab
11/06 11/07 11/08 11/09: Concurrency code lab
11/13 11/14 11/15 11/16: Project lab
11/20 11/21 11/22: Thanksgiving break 11/23: Thanksgiving break
11/27 11/28 11/29 11/30: Project lab
12/04
Final Exam: 1:00-3:00
12/05 12/06 12/07
 

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.”

Covid Policy

Everyone should follow the current Bethel University covid policy. See: https://www.betheluniversity.edu/intheknow for details

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.

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.

Education Majors:

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

Revision 42023-06-21 - cathybareiss

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

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: 6 to 6
 
  • Professor: Dr. Cathy Bareiss
  • Office SB 31
  • Class Time: 1:00-1:50 MW
Changed:
<
<
  • Lab Time: 12:30-1:50 TR
>
>
  • Lab Time: 12:30-1:50 TF
 
  • Class Location: S 025
  • Textbook: Student membership in ACM
Line: 35 to 35
 
    • 0% <= average < 60% -> F

Tentative Schedule

Changed:
<
<
--+++Tentative Schedule
Monday Tuesday Lab Wednesday Thursday Lab
8/14 8/15 8/16 8/17: Class begin
Coding review Lab
8/21: Objects and Designing 8/22 8/23: Objects and designing 8/24: Objects design lab
8/28: Objects 8/29 8/30: GUI 8/31: Objects code lab
9/04
Labor Day
9/05 9/06: GUI 9/07: Gui Design lab
9/11: Exam 1 9/12 9/13: Inheritance 9/14: Gui Code lab
9/18: Inheritance, Interfaces, etc. 9/19 9/20: Continuation 9/21: Inheritance Design Lab
9/25: Testing 9/26
Service Day
9/27: Secure coding in java 9/28:
10/02: Testing 10/03: Inheritance Code Lab 10/04 10/05
Fall Break
10/09 10/10 10/11 10/12
CCSC Board Meeting
Testing design Lab
10/16 10/17 10/18 10/19: Testing code lab
10/23 10/24 10/25 10/26: Advanced Object design lab
10/30 10/31 11/01 11/02: Advanced Object code lab
11/06 11/07 11/08 11/09: Concurrency code lab
11/13 11/14 11/15 11/16: Project lab
11/20 11/21 11/22
Thanksgiving break
11/23
Thanksgiving break
11/27 11/28 11/29 11/30: Project lab
12/04
Final Exam: 1:00-3:00
12/05 12/06 12/07
>
>
Monday Tuesday Lab Wednesday Friday Lab
8/14 8/15 8/16 8/18: Class begin
Coding review Lab
8/21: Objects and Designing 8/22 8/23: Objects and designing 8/25: Objects design lab
8/28: Objects 8/29 8/30: GUI 9/01: Objects code lab
9/04
Labor Day
9/05 9/06: GUI 9/08: Gui Design lab
9/11: Exam 1 9/12 9/13: Inheritance 9/16: Gui Code lab
9/18: Inheritance, Interfaces, etc. 9/19 9/20: Continuation 9/22: Inheritance Design Lab
9/25: Testing 9/26
Service Day
9/27: Secure coding in java 9/29:
10/02: Testing 10/03: Inheritance Code Lab 10/04 10/06
Fall Break
10/09 10/10 10/11 10/13
CCSC Board Meeting
Testing design Lab
10/16 10/17 10/18 10/20:
CCSC:MW conference
Testing code lab
10/23 10/24 10/25 10/27: Advanced Object design lab
10/30 10/31 11/01 11/03: Advanced Object code lab
11/06 11/07 11/08 11/10: Concurrency code lab
11/13 11/14 11/15 11/17: Project lab
11/20 11/21 11/22
Thanksgiving break
11/24
Thanksgiving break
11/27 11/28 11/29 11/31: Project lab
12/04
Final Exam: 1:00-3:00
12/05 12/06 12/08
 

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.”

Covid Policy

Everyone should follow the current Bethel University covid policy. See: https://www.betheluniversity.edu/intheknow for details

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.

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.

Education Majors:

Please use the link below to review all appropriate standards. Standards

Revision 32023-05-18 - cathybareiss

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

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
 

Tentative Schedule

--+++Tentative Schedule
Monday Tuesday Lab Wednesday Thursday Lab
Changed:
<
<
8/14 8/15 8/16 8/17: Class begin
8/21 8/22 8/23 8/24
8/28 8/29 8/30 8/31
9/04
Labor Day
9/05 9/06 9/07
9/11 9/12 9/13 9/14
9/18 9/19 9/20 9/21
9/25 9/26
Service Day
9/27 9/28
10/02 10/03 10/04 10/05
Fall Break
10/09 10/10 10/11 10/12
CCSC Board Meeting
10/16 10/17 10/18 10/19
10/23 10/24 10/25 10/26
10/30 10/31 11/01 11/02
11/06 11/07 11/08 11/09
11/13 11/14 11/15 11/16
>
>
8/14 8/15 8/16 8/17: Class begin
Coding review Lab
8/21: Objects and Designing 8/22 8/23: Objects and designing 8/24: Objects design lab
8/28: Objects 8/29 8/30: GUI 8/31: Objects code lab
9/04
Labor Day
9/05 9/06: GUI 9/07: Gui Design lab
9/11: Exam 1 9/12 9/13: Inheritance 9/14: Gui Code lab
9/18: Inheritance, Interfaces, etc. 9/19 9/20: Continuation 9/21: Inheritance Design Lab
9/25: Testing 9/26
Service Day
9/27: Secure coding in java 9/28:
10/02: Testing 10/03: Inheritance Code Lab 10/04 10/05
Fall Break
10/09 10/10 10/11 10/12
CCSC Board Meeting
Testing design Lab
10/16 10/17 10/18 10/19: Testing code lab
10/23 10/24 10/25 10/26: Advanced Object design lab
10/30 10/31 11/01 11/02: Advanced Object code lab
11/06 11/07 11/08 11/09: Concurrency code lab
11/13 11/14 11/15 11/16: Project lab
 
11/20 11/21 11/22
Thanksgiving break
11/23
Thanksgiving break
Changed:
<
<
11/27 11/28 11/29 11/30
>
>
11/27 11/28 11/29 11/30: Project lab
 
12/04
Final Exam: 1:00-3:00
12/05 12/06 12/07

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.”

Covid Policy

Everyone should follow the current Bethel University covid policy. See: https://www.betheluniversity.edu/intheknow for details

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.

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.

Education Majors:

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

Revision 22023-05-18 - cathybareiss

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

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: 35 to 35
 
    • 0% <= average < 60% -> F

Tentative Schedule

Added:
>
>
--+++Tentative Schedule
Monday Tuesday Lab
<-- -->
Sorted ascending
Wednesday Thursday Lab
8/14 8/15 8/16 8/17: Class begin
8/21 8/22 8/23 8/24
8/28 8/29 8/30 8/31
9/04
Labor Day
9/05 9/06 9/07
9/11 9/12 9/13 9/14
9/18 9/19 9/20 9/21
9/25 9/26
Service Day
9/27 9/28
10/02 10/03 10/04 10/05
Fall Break
10/09 10/10 10/11 10/12
CCSC Board Meeting
10/16 10/17 10/18 10/19
10/23 10/24 10/25 10/26
10/30 10/31 11/01 11/02
11/06 11/07 11/08 11/09
11/13 11/14 11/15 11/16
11/20 11/21 11/22
Thanksgiving break
11/23
Thanksgiving break
11/27 11/28 11/29 11/30
12/04
Final Exam: 1:00-3:00
12/05 12/06 12/07
 

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.”

Covid Policy

Everyone should follow the current Bethel University covid policy. See: https://www.betheluniversity.edu/intheknow for details

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.

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.

Education Majors:

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

Revision 12023-04-20 - cathybareiss

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

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 MW
  • Lab Time: 12:30-1:50 TR
  • Class Location: S 025
  • Textbook: Student membership in ACM

Course Content

Policies

Assignments

Extra credit

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

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.”

Covid Policy

Everyone should follow the current Bethel University covid policy. See: https://www.betheluniversity.edu/intheknow for details

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.

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.

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