Available courses

Provides pre-engineering majors, and students interested in engineering and computer science disciplines, with the skills, information, and knowledge necessary to promote academic success and career development. Topics include: setting academic goals, selecting a major, career preparation, developing verbal and written communication abilities, as well as critical thinking, studying, and time management skills.  Corequisites: EGG 101Prerequisites: MATH 96. 2 credits.

Algorithms from systems programming including conversion, buffering, device drivers, assemblers, and loaders. Use of system services, macros, and linkage conventions. Laboratory exercises programmed in assembly language.   Prerequisites: CPE 100 - Computer and Logic Design I and CS 135 - Computer Science I (or other high-level language course).


This course will teach the concepts and techniques of databases for real-time web and big data applications. The course will focus primarily on NoSQL, object oriented, and XML databases.  Topics include characteristics and significance of NoSQL databases, NoSQL data formats, key and value pairs, basic schema in NoSQL, and table structures and data types. Projects in SQLite, MongoDB, and Postgres will be developed to show the capabilities of these databases. Crosslisted with ITE 451. Credit at the 600 level requires additional work.

Introduction to Internet and World Wide Web tools and resources, including Web browsers, robots and search engines, agents, multimedia authorizing environments, electronic publishing, virtual reality, anonymizing and the use of relative identities, Internet security, digital watermarking, and Web censorship. Programming skills covered in corequisite lab. Intended for non-CS majors.  Corequisite: CS 270L. Prerequisite: CS 115 or equivalent. 2 credits.

Use of a single programming language for problem formulation and solution. Language varies each semester. Typical languages include Java, LISP, Prolog, Scheme, etc. Prerequisite: Ability to program in a high-level language. May be repeated if language is different. 1-3 credits.

Operating systems organization, sharing and allocation of system resources, protection mechanisms, and integration of system components. Prerequisites: CS 302 and either CS 219 or ECG 300. 3 credits.

Structured approach to programming and problem solving in FORTRAN.  Emphasis placed on problem solving, algorithm development problems encountered in science and engineering, and techniques of good programming style.  Prerequisite: MATH 181. 3 credits.

Analysis of the time and space complexity of algorithms. Techniques for efficient algorithm design and effect of structure choice on efficiency. Fast algorithms for problems such as set, graph and matrix manipulations, pattern matching, sorting, and storage organization.  Exponential time problems and introduction to NP-completeness.  This course is cross-listed with CS 677.  Credit at the 600-level requires additional work. Prerequisites: CS 302 and Math 351.

Graduate-level course in some field of computer science, at advanced level, depending upon the current interest of the staff and the students. May be repeated with a different subject matter to a maximum of nine credits. Prerequisite: Consent of instructor.

Problem-solving methods and algorithm development in a high-level programming language. Program design, coding, debugging, and documentation using techniques of good programming style. Program development in a powerful operating environment.  Prerequisites: MATH 127 or MATH 128