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

21 Apr 2025 - 20:01 | Version 1 |

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\x92s 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\x92s 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: 2:00-2:50 MF
  • Lab Time: 2:00-2:50 TR
  • Class Location: S 025
  • Textbook: Student membership in ACM. Resources from ACM Learning Center that will be used include:
    • 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

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

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

  • 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

Monday Tuesday Lab ThursdaySorted ascending Friday Lab
1/6 1/7 1/9: Class begin
Class Day
UML, GitHub, FSM, Objects
OOA: 2.1-2.3
1/10: Objects lab. design/testing
1/13: Objects/testing/cont. 1/14: Objects d/t cont. 1/16: Objects 1/17: Objects: coding
1/20: MLK Day
no class
1/21: Objects: coding cont. 1/23: Interfaces and Inheritance 1/25: Objects: TicTacToe design
1/27: Inheritance 1/28: Objects: TicTacToe design cont. 1/30: Inheritance and interfaces 1/31: Objects: coding
2/3: Exam 1 2/4: Objects: coding 2/6: GUI review 2/7: GUI lab
2/10: Secure programming 2/11: GUI lab 2/13: Secure programming 2/14: Inheritance: design
2/17: GUI review 2/18: Inheritance: design cont. 2/20: Merge Sort, Big 0, etc. 2/21: Inheritance: coding
2/24: Inheritance review 2/25: Inheritance: coding 2/27: SIGCSE
Exam 2
2/28: SIGCSE
Inheritance again: design
3/3: Spring Break 3/4: Spring Break 3/6: Spring Break 3/7: Spring break
3/10: Inheritance review 3/11: Redo Inheritance 3/13: Inheritance review 3/14: Redo inheritance
3/17: In class project
Redo due
3/18: Inheritance again design cont. 3/20: in class project 3/21: Inheritance design cont.
3/24: In class project
Inherit 2 design due
3/25: Inheritance again coding 3/27: in class project 3/28: Inheritance coding
3/31: Linked lists 4/1: Inheritance coding 4/3: exam 3 4/4: Inheritance coding
4/7: Linked lists
Inheritance code due
4/8: Missional AI Summit
Last design
4/10: Missional AI Summit 4/11: Last design
4/14: Queues 4/15: Last coding
Last Design Due
4/17: Easter Break 4/18: Easter Break
4/21: Queues 4/22: Last coding 4/24: Exam 4 4/25: Last code (check canvas for due date)
4/28: Finals Week
Final Exam: 1:00-3:00
4/29: Finals Week 5/1: Finals week 5/2: 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.com.edu for an appointment.

Education Majors:

Please use the link below to review all appropriate standards. Standards
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback
This website is using cookies. More info. That's Fine