Course Information: Introduction to Programming Principles

Computer Science Department
Course Competency Plan
COURSE: CpSc 146 Introduction to Programming Principles

Course Description:Techniques are stressed that enable systematic development of clear, correct programs. Other topics include data types, algebraic notation, standard control structures, functions; input/output, arrays, and program testing and debugging. Prerequisite: ASSD 110. (3 credits)

Course Outcomes:This course and its outcomes support the Computer Science, Information Systems, and Information Technology Learning Outcomes of Problem Solving and Critical Thinking (PS&CT), Communication and Interpersonal Skills (C&IS), and Ethical and Professional Responsibilities (E&PR). These Computer Science, Information Systems, and Information Technology Learning Outcomes are tied directly to the University Wide Outcomes of Critical Thinking and Problem Solving, Communication, and Values and Ethics.

This course engages students in the following high impact practice: Collaborative assignments and projects Undergraduate research
DegreeProgram ObjectiveAssessed Course Objective
CS I.a. Design an algorithmic solution to a problem using problem decomposition and step-wise refinement 1. Design an algorithmic solution to a problem using problem decomposition and step-wise refinement
CS I.b. Implement an algorithm by creating a tested and debugged programmatic solution 2. Implement program solution to an algorithm or design specification.
IS I.c. Integrate programming and design principles for effective problem solving to address the needs of an organization
IT I.b. Integrate design and implementation principles to develop effective web pages
IT I.e. Create efficient, graphical client/server applications 3. Implement a program or module using multimedia or graphics and events.
CS II.c. Devise effective user interfaces. 4. Design programs that effectively communicate with the end user.
IT II.d. Devise effective user interfaces for information systems
CS III.c. Demonstrate an understanding of the Association for Computing Machinery (ACM) Code of Professional Ethics 5. Understand ethics & professionalism in the context of an introductory programming class.
IS III.c. Demonstrate an understanding of the Association for Computing Machinery (ACM) Code of Professional Ethics
IT III.c. Demonstrate an understanding of the Association of Computing Machinery (ACM) Code of Professional Ethics
LS Demonstrate basic knowledge of facts, terms, concepts, and theories central to STEM programs 6. Implement a program or answer test questions that utilize basic terms and theories of the language to solve specific problems.
LS Develop skill in using materials, techniques, tools, and technology central to STEM programs 7. Select tools and techniques such as data types and control flow when implementing a program on the appropriate hardware.
LS Demonstrate synthesis and integration of information and ideas 8. Write programs that demonstrate the synthesis and integration of programming ideas into an algorithmic design.
LS Analyze and interpret experimental data and results effectively 9. Examine the results of the program to ensure it meets program specifications and works for all experimental input data.

Additional Course Objectives include:
The student will be able to:

  1. Select appropriate data types, control flow, and programming techniques. [CS: PS&CT c | IS: PS&CT a | IT: PS&CT c]
  2. Design an algorithmic, object-oriented solution that meets the specification of a programming problem. [CS: PS&CT a | IS: PS&CT c | IT: PS&CT a, b]
  3. Write self-documenting programs according to standard techniques as defined by the instructor. [all 3: C&IS a]
This is an Goal Course in the Science, Technology and Mathematics area of the Liberal Studies Program.