CSC 121: Programming 1: Control Structures. 3 hours

08 Apr 2024 - 13:56 | Version 1 |

Description

An introduction to computer application development using a high level, object oriented, GUI based language. Emphasis is on the use of problem solving methods, algorithms, control structures, documentation and debugging. Lab: CSC 121L. Prerequisites: CSC 102 or permission of the instructor

Goals for CSC 121 are:

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

Course outcomes for CSC 121 are:

Upon completion of CSC 121, students will know:
  • how to write 2 - 3 page programs in a high level language
  • how to document code and a program
  • how to come up with a simple testing plan that includes input, output, and some error conditions
  • how to work with a simple IDE to debug a program

Program outcomes for CSC 121 are:

  1. Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (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. Understand and use appropriate cloud technologies in specified areas (Computing student learning outcome 8)
  6. Apply computer science theory and software development fundamentals to produce computing-based solutions. (Computer Science student learning outcome 1)
  7. 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 (such as simple math function, formatting, string functions that are easy to understand and covered by the textbook)
  2. Note taking at the introductory level by not posting lecture notes and holding students responsible for the content.
  3. Technical writing at the introductory level by requiring students to understand and properly express a problem summary and requirements and the steps of a program and a complete (but somewhat informal) testing report.
  4. Professionalism at the introductory level by having students track how long it takes to write programs (so that they are better equip to estimate this in the future) and comment on what they learned and what they would want to to better with a program if they could.
  5. Cybersecurity at an introductory level by requiring students to document possible invalid input what happens for all programs. By the end of the semester, they should handle some of the invalid input (i.e. secure programming).
  6. Ethics at an introductory level by having at least two programs assigned that could have ethical implications and having the students discuss that in their reports.

Details

  • Professor: Dr. Cathy Bareiss
  • Office SB 31
  • Class Time: 11:00-11:50 MR
  • Lab Time: 11:00-11:50 TF
  • Class Location: S 025
  • Textbook: Student membership in ACM. Resources from ACM Learning Center that will be used include:
    • LUS: Let us Java, Fourth Edition. ISBN: 978-93-8817-638-5. Author: Yashavant Kanetkar
    • JBC: Java—A Beginner's Guide, Eighth Edition. ISBN: 9781260440218. Author: Herbert Schildt
    • JES: Java in Easy Steps, 7th Edition. ISBN: 9781840788730. Author: Mike McGrath
    • JPS: Java Programming Simplified—From Novice to Professional - Start at the Beginning and Learn the World of Java. ISBN: 978-93-89845-143. Author: Dr. Muneer Ahmad Dar
    • OCAJ: Channel: Oracle Certified Associate, Java SE Programmer

Course Content

Policies

Assignments

Homework, quizzes, etc. will be made throughout the semester. The quizzes will typically be online. Homework should be turned in via hard copy (and extremely legible) at the start of class on the day assignment unless otherwise specified. Standard late policy applies.

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.

Labs

Extra credit

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

Grades

Your grades are made up of:
  • 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
    • 90% <= average < 93% → A-
    • 87% <= average < 90% → B+
    • 83% <= average < 87% → B
    • 80% <= average < 83% → B-
    • 77% <= average < 80% → C+
    • 73% <= average < 77% → C
    • 70% <= average < 73% → C-
    • 67% <= average < 70% → D+
    • 63% <= average < 67% → D
    • 60% <= average < 63% → D-
    • 0% <= average < 60% → F

Tentative Schedule (needs fixing)

Monday Tuesday Lab Thursday Friday Lab
1/8 1/9 1/11: Overview of Java
LUJ: Chap 1-3
JBG: Chap 1 & 2
JPS: Chap 1 & 2
JES: Chap 1 & 2
OCAJ: Introduction to Java, Working with Variables
1/12: First Program and your environment
1/15: Selection
LUJ: Chap 4 & 6
JBG: Chap 3
JES: Chap 3
JPS: Chap 2
OCAJ: Operators & Conditionals
1/16: Lab 1 cont. 1/18: Selection and Repetition
LUJ Chap 5
LBG: Chap 3
JPS: Chap 2
JES: Chap 3
1/19: Simple Arithmetic: Selection
1/22: Repetition 1/23: Lab 2 cont. 1/25: Repetition 1/26: Calculator: Introduction to repetition
1/29: Repetition 1/30: Lab 3 cont. 2/1: Methods
LUJ: Chap 7 & 8
JBG: Chap 4
OCAJ: Methods
2/2: Print a month
2/5: Exam 1 2/6: Lab 4 cont. 2/8: Files
JBG: Chap 3
JPS: Chap 9
2/9: Print a month using methods
2/12: Methods 2/13: Lab 5 cont. 2/15: Methods, constants
JES: Chap 1
2/16: Inventory Control: Methods and files
2/19: Exceptions, error handling
LUJ: Chap 15
JBG:Chap 9
JPS: Chap 6
OCAJ: Working with Exceptions
2/20: Lab 6 cont. 2/22: Methods 2/23: Simple quiz engine: Methods and files
2/26: Review, testing 2/27: Lab 7 cont. 2/29: Exam 2 3/1: Inventory: command line arguments
3/4: Spring Break 3/5: Spring Break 3/7: Spring Break 3/8: Spring break
3/11: Command line arguments
JBG: Chap 5
3/12: Lab 8 cont. 3/14: Arrays
LUJ: Chap 11
JBG: Chap 5
OCAJ: Conditions & Arrays
3/15: Updating inventory: Arrays
3/18: Arrays, searching
JPS: Chap 5
3/19: Lab 9 Cont. 3/20:SIGCSE 3/21: SIGCSE
3/25: Sorting
Sorting Homework
3/26: 3/28:Easter Break
3/29: Easter Break
4/1: Arrays, test drivers 4/2: Just searching or sorting and searching. 4/4: Exam 3 4/5: Lab 10 cont.
4/8: Review exam and arrays 4/9: Reviewing arrays: MasterMind part 1 4/11: Arrays 4/12: lab 11 cont.
4/15: 22 arrays 4/16: Packing cargo ships: 2D arrays 4/18: Arrays 4/19: Lab 12 cont.
4/22: Exam 4 4/23: Reviewing arrays: Mastermind complete Lab 13 cont. 4/25: Review 4/26: Lab 13 cont.
4/29: Finals Week 4/30: Finals Week 5/2: Final exam: 10:30-12:30 5/3: 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.”

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