Difference: CSC121SylS2023 (8 vs. 9)

Revision 92023-03-07 - cathybareiss

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

CSC 121: Programming 1: Control Structures. 3 hours

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’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. 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.
Line: 31 to 31
 
Added:
>
>
 

Homework

Most assignments will be made in class. Notes should be taken at that time.

  • Reactions 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 s 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
Line: 67 to 68
 
02/20
Exam 2
02/21 02/22
Arrays
02/23
02/27
Spring Break
02/28
Spring Break
03/01
Spring Break
03/02
Spring Break
03/06
Arrays
03/07 Arrays: Almost done with Mastermind 03/08
Arrays
03/09
Changed:
<
<
03/13
Recursion
03/14 03/15
SIGCSE
Exam 3
03/16
SIGCSE
>
>
03/13
Recursion
03/14 Bin Packing 03/15
SIGCSE
Exam 3
03/16
SIGCSE
 
03/20
Exceptions
03/21 03/22
Debugging
03/23
03/27
Searching
03/28 03/29
sorting
03/30
04/03
Sorting
04/04 04/05 04/06
Easter Break
 
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