Introduction to Programming

Course Number: 
NACT-230
Credits: 
3

This course introduces students to the fundamental concepts and terminology of computer programming. Emphasis will be placed on developing problem-solving skills in designing and writing simple computer programs. The course covers such topics as developing flowcharts, algorithms and pseudocode, and introduces students to variables, operators, conditional statements, looping statements, data structures, error-handling and debugging, and user interface design. The course assumes no programming background. (Pre-requisites: NACT-170 Introduction to Web Development, NMTH-120 or above).

Goals: 
  • To understand programming concepts and terminology.
  • To develop the critical thinking and problem solving skills needed to write well structured, syntactically correct programs that solve general application problems.
  • To learn to appropriately use the components of a programming language, including variables and data types, relational and logical operators, branching, and looping, and data structures.
  • To develop the skills to read, trace, and understand simple code.
  • To develop the skills to write, test, and debug code to solve a simple problem.
  • To successfully use many features of a programming language compiler to create, debug, and execute programs.
  • To enhance students' reading and writing abilities.
Topics: 

1.0 Introduction

1.1 Overview of Computer Programming Languages

2.0 The Software Development Process

2.1 Software Development Life Cycle

2.2 Algorithms, flowcharts, pseudocode

3.0 Variables, Data, Input, and Output

3.1 Variables, data types, declarations

4.0 Operators and Expressions

4.1 Arithmetic, relational, logical operators

4.2 Operator Precedence

5.0 Decisions

5.1 If Statements

5.2 If-Else Statements

5.3 Switch Statements

6.0 Repetitions

6.1 For Loops

6.2 While Loops (Pretest Loops)

6.3 Do-While Loops (Posttest Loops)

7.0 Arrays

7.1 Use arrays for storage and retrieval of data in a program

8.0 Introduction to Developing a User Interface

8.1 How to design user interface for software applications

8.2 Best practices for user interface design

8.3 Building a user interface.

Learning Outcomes: 

Outcome: At the completion of this course, students will be able to:

Assessment Method

  1. Understand what software development is and what software developers do

Assignments, Class Exercises, Exams

  1. Describe the purposes of programming and software development.

Assignments, Class Exercises, Exams

  1. Define an integrated development environment.

Assignments, Class Exercises, Exams

  1. Describe the software development process, its purpose, critical steps, and where programming fits in that process.

Assignments, Class Exercises, Exams

  1. Identify a problem that requires a programmed solution. (algorithms)

Assignments, Class Exercises, Exams

  1. Describe problem-solving techniques.

Assignments, Class Exercises, Exams

  1. Demonstrate the use of variables.

Assignments, Class Exercises, Exams

  1. Describe the various data types you can use to declare variables.

Assignments, Class Exercises, Exams

  1. Demonstrate the use of operators including arithmetic, relational, and logical operators.

Assignments, Class Exercises, Exams

  1. Demonstrate the use of If, If-Else, and Switch statements.

Assignments, Class Exercises, Exams

  1. Demonstrate the use of For, While  and Do-While Loops.

Assignments, Class Exercises, Exams

  1. Identify and troubleshoot syntax, runtime and logic errors.

Assignments, Class Exercises, Exams

  1. Create and use arrays.

Assignments, Class Exercises, Exams

  1. Trace program logic to identify logic errors and/or program output.

Assignments, Class Exercises, Exams

  1. Write computer programs to solve problems using features such as input and output statements, conditional statements, looping statements, and arrays.

Assignments, Class Exercises, Exams

  1. Employ various techniques for testing and debugging computer programs to ensure accurate results.

Assignments, Class Exercises, Exams

  1. Define an integrated development environment.

Assignments, Class Exercises, Exams

  1. Identify the features of a good user interface design for software applications.

Assignments, Class Exercises, Exams

  1. Demonstrate proficiency in using the programming language in developing creative solutions to solving problems.

Assignments, Class Exercises, Exams

  1. Illustrate how pseudocode and flowcharts are used in creating computer programs.

Assignments, Class Exercises, Exams

  1. Write clear program documentation including the purpose of the program and comments on the function of program logic.

Assignments and Class Exercises

  1. Demonstrate an understanding of programming concepts and programming design through reading.

Assignments and Class Exercises

  1. Demonstrate an understanding of programming concepts and programming design in writing.

Assignments and Class Exercises

 

Textbooks: