CSCI 2000


Course Number:
CSCI 2000

Approved Starting Semester:
Fall 2024

Course Title:
Programming for STEM

Course Description (Bulletin Description):
This course is an introduction to computer programming for students in STEM-related disciplines. Course material ranges from introductory topics such as how computers represent numbers to more advanced topics such as object-oriented programming and data structures.

Prerequisite:
Permission of instructor

Co-requisite:
None

Pre/Co-requisite::
Math 1910

Dual-Listed:
None

Course Objectives (Course-level Student Learning Outcomes):
At the completion of the course, the student will be able to 1. Use a programming language to implement, test, and debug algorithms for solving simple problems. 2. Design, implement, test, and debug programs that use each of the following fundamental programming constructs: basic computation, simple I/O, standard conditional and iterative structures, functions and parameter passing. 6. Construct and debug programs using the standard libraries and built-in data structures available with a chosen programming language. 8. Apply consistent documentation and program style standards that contribute to the readability and maintainability of software. 2. Identify the data components and behaviors of multiple abstract data types. 3. Write programs that use each of the following data structures: files, arrays and lists, records/structs, strings, stacks, and queues. 4. Choose the appropriate data structure for modeling a given problem. 7. Design and implement a class. 8. Use subclassing to design simple class hierarchies that allow code to be reused for distinct subclasses.

Topics Covered (In Outline/Calendar):
basic computation, console and file I/O, standard conditional and iterative structures, the definition of functions, parameter passing, arrays and lists, strings, records/structs, stacks, queues, standard libraries, built-in data structures, common coding errors that lead to insecure programs, object oriented programming

Student Learning Outcomes:
  • Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (SLO1)
  • Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline. (SLO2)
Course Coordinator:
Dr. John Nicholson

Instructor-in-charge:
Dr. John Nicholson

Previous Professors:
N.A.

Technologies / Skills:
Python programming language, Linux OS

Textbook(s):
No texbook required
========================================


Go back to choose another course