CSC 121: Programming 1: Control Structures. 3 hours

14 Jul 2021 - 15:03 | 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.
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