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