CSE 163 Introduction to Computer Concepts and Programming (3 credits)

Catalog description:

Introduction to computers in data processing, survey of various hardware and software concepts, and analysis and solution of problems by computer programming. Lecture/laboratory, project-oriented course to provide numerous opportunities to analyze problems, formulate alternative solutions, implement solutions, and assess their effectiveness. No prior knowledge of computer concepts or programming assumed.  This course is not open to CSE students without permission of instructor. 

Prerequisites:

Algebra and trigonometry.

Miami Plan:

CSE 163 is a Miami Plan Foundation (MPF) - Group V course.   

CSE 163 is a first-tier course in the CSE4 "Web and Game Applications" thematic sequence.

Given the prevalence of computing devices, it is important that we understand what computers do and how they do it. The web game applications thematic sequence is designed to provide students with an understanding of how computer software is created and designed and how it functions to make possible popular applications such as computer games and the World Wide Web. Courses in the sequence provide an introduction to fundamental programming concepts.  These concepts are applied to create computer games and web applications. 

The CSE4 thematic sequence consists of one of the following introductory computer programming courses...

  • CSE 153, Introduction to C/C++ Programming
  • CSE 163, Introduction to Computer Concepts and Programming
  • CSE 174, Fundamentals of Programming and Problem Solving

Followed by both of the following courses... 

  • CSE 251, Introduction to Game Programming
  • CSE 252, Web Application Programming

CSE 163 is a course in which you learn computer programming concepts that are fundamental in nearly any computer programming language.  These concepts can then be used in other courses to help you create computer applications that can be used to solve real-world problems.

Required topics (approximate weeks allocated):

  • Introduction (.5) 
    • hardware and software 
    • local computing environment 
    • creating programs 
    • machine language vs. high-level languages 
  • Introduction to problem-solving (.5) 
    • flowcharting 
    • pseudocoding 
  • Introduction to programs (2) 
    • fundamental statements (input, assignment, print) 
    • structure of a VB project 
    • symbolic variables 
    • types of variables and constants 
    • scope and lifetime of variables 
    • expressions in assignment statements 
    • order of operations 
    • precision 
    • debugging 
    • syntax errors, logic errors, runtime errors 
    • program development life cycle 
  • Designing the user interface (1) 
  • Fundamental programming structures (4.5) 
    • structured programming concepts 
    • event-driven programming 
    • exception handling 
    • subroutines to implement modular structure 
    • Iteration and decision structures 
    • accumulating 
    • counting and conditional counting 
    • nested structures 
    • debugging tools and processes 
  • Arrays (1.5) 
    • definition 
    • creation 
    • accessing 
    • linear searching 
    • simple sort 
  • Sequential files (1) 
  • Formatting output data (.5) 
  • String processing (.5) 
  • Graphics and sound (.5) 
  • Fundamental computer concepts (discussions and quizzes, spread out over the entire semester) (2) 
  • Exams/Review (1) 

Course Outcomes

1: Explain the fundamental concepts in programming

1.1: Describe fundamental computer hardware and software concepts

1.2: Differentiate among various data elements, structures, and their associated data types.

1.3: Correlate program requirements with event-driven programming constructs, such as classes, objects, methods, and events.

2: Write programs in a high-level programming language

2.1: Write programs employing sequence, selection, and repetition structures

2.2: Implement modular design/decomposition in solving complex problems

2.3: Develop formulas and algorithms that are well structured, robust, reliable, and amenable to implementation in a computer program.

2.4: Demonstrate the use of string processing methods

2.5: Write sequential file processing programs

2.6: Select appropriate data types and structures to represent the real-world context of a programming problem

2.7: In designing a program, implement design specifications including usability, scalability, speed, and efficiency issues

3: Apply problem solving in programming

3.1: Use program design tools in problem solving

3.2: Identify and resolve syntax, logic, and run-time errors

4: Develop user-friendly programs

4.1: Write menu-driven programs

4.2: Implement multimedia features in a program

5: Work effectively with other programmers

5.1: Work as part of a team to analyze a given problem, propose and compare potential software solutions to the problem, and implement the chosen solution

6: Use and design computer programs in real-world contexts

6.1: Explain ways in which computer software is or may be used to solve a problem related to the student's major field of study.

6.2: Use feedback collected from users of a program to make improvements to that program.

6.3: Describe ethical standards associated with software development.

6.4: Write documentation that explains to others how to use a program.