Courses
Search for courses listed in this bulletin. To find a semester course schedule (including instructors, meeting times and locations), go to mynmu.nmu.edu.
- Offered: Fall Winter
- Prerequisites: CS 122 or instructor permission.
Study of how computer hardware responds to stored instructions. Construction projects with logic circuits lead to the conceptual designs of microprocessors. Assembly language programming is introduced in the context of the logic circuitry being controlled. Projects emphasize the software needed in common interfacing tasks.
- Offered: Contact Department
- Prerequisites: CS 222, or permission of instructor.
The basics of programming interactive video games in a general purpose language. Topics include: animation, user interaction, event loops, 2D & 3D coordinate systems, perspective, sound, and networked multiplayer environments.
- Offered: Fall
- Prerequisites: CS 222 or instructor permission.
This course covers how to program the iPhone and Apple Macintosh using Objective C. Topics may include iPhone programming, the Macintosh operating system, Objective C object hierarchy, Cocoa Touch, views, controllers, embedded databases, animation, OpenGL / gaming, motion sensing, map and location services.
- Offered: Winter
- Prerequisites: CS 222 or permission of instructor.
This course teaches how to program the Android operating system using Java. Topics include developing competence with the Android design tools, basic application writing, GUI creation, events and network programming.
Notes:May not be repeated for credit.
- Offered: Every third semester, starting Winter 2024
- Prerequisites: CS 201.
This course covers how to develop websites, with an emphasis on web applications. Current client-side frameworks and/or libraries are used. The focus of this course is mainly on client-side technologies, although server-side technologies may be introduced as well.
Notes:May not be repeated for credit.
- Offered: On demand
- Prerequisites: CS 201 or CS 330, or equivalent software or hardware experience.
This course teaches how to design, build, and program autonomous robots. Topics include robot architecture (sensors, effectors, processors, and platforms), and adaptive behavior (navigation, machine learning, and evolutionary robotics). Course incorporates significant hands-on experience with real robots and simulators. The second half of the course involves team-based projects with a final demonstration.
- Offered: On demand
- Prerequisites: Eight credits of sciences or instructor approval.
This course teaches scientists how to manage data and databases. It includes how to convert data formats, how to filter data including outlier removal, writing queries including SQL, and many data analysis techniques.
Notes:This course is not intended for computer science majors.
- Offered: Winter
- Prerequisites: CS 222 and MA 161.
Overview of algorithm design strategies. Topics: asymptotic notation, induction, recurrence relations, sorting, searching, dynamic programming, greedy algorithms, number-theoretic algorithms, NP-completeness and complexity.
- Offered: On demand
- Prerequisites: CS 222 and either CS 322 or CS 330 and junior standing or instructor's permission.
- Offered: Fall
- Prerequisites: CS 228.
This course explores the concepts of modern operating systems. Topics include memory management, processor scheduling, security management, and file system design. Examples are drawn from Windows NT, UNIX and Linux. Students without CS 330 may enter with consent of instructor.
- Offered: Every third semester
- Prerequisites: CS 228.
Topics include threaded programming, locking, network routing, parallel processing, and peer-to-peer computing and related subjects such as packet sniffers, parallel mathematical algorithms and web server proxies.
- Offered: Contact Department
- Prerequisites: CS 222.
This course covers parallel programming, including shared memory and distributed memory programming. Topics include architecture, programming techniques, the MPI, OpenMP, and pthread libraries and famous algorithms.
- Offered: On demand
- Prerequisites: MA 115 and CS 222, or instructor's permission.
- Offered: Every third semester, starting Fall 2023
- Prerequisites: Six credit hours of computer science courses at the 200 level or above.
This course teaches students how to program client/server applications for the web, focusing mainly on the server side. Topics cover scripting languages such as Perl, PHP, or other current alternatives, using them to read input from Web forms and produce Web output. SQL will be used to interface with databases as the backend technology.
- Offered: On demand
- Prerequisites: CS 222, junior standing or instructor's permission.
- Offered: Fall Winter
- Prerequisites: CS 222, CS 228, junior standing and permission of adviser.
This course involves creating a significant software and/or hardware project. Work is supervised by an adviser. Topics must be approved first by an evaluation committee, which will later review and grade the completed project.
For details, examples, and procedure, see http://cs.nmu.edu/~SeniorProjects.
- Offered: On demand
- Prerequisites: Prior arrangement with instructor and junior standing.
This course provides students with a chance to work independently on topics of special interest. Students are required to create a pre-approved plan of study with an adviser.
Notes:May be repeated if project differs.
- Offered: On demand
- Graded: S/U
- Prerequisites: Junior standing, minimum grade point average of 3.00 and departmental approval.
The course provides on-the-job experience in the application of computer science principles. Internship positions are coordinated with the JOBSearch Center and the Mathematics and Computer Science Department.
Notes:May be repeated for credit, not to exceed eight credits total. Only four credits may be applied to a computer science minor.
- Offered: On demand
- Prerequisites: For upper division students and majors and minors.
Topics reflecting special interest of students and staff.
Notes:May be repeated if topic differs with instructor permission.
- Offered: On demand
- Graded: S/U
- Prerequisites: For upper division students and majors and minors.
Topics reflecting special interest of students and staff.
Notes:May be repeated if topic differs with instructor permission.
- Offered: On demand
- Graded: S/U
- Prerequisites: Available only with consent of department head.
- Offered: On demand
- Prerequisites: Available only with consent of department head.
- Offered: Fall
This is an introductory exposure to the art and experience of dance for the general student. This course will examine various aspects of dance culture at the novice level including: viewing and identifying of various genres and stories of dance, dance history, dance aesthetics, dance productions, and using critical thinking skills in viewing dance (i.e. describing, analyzing, interpreting, and evaluating).
- Offered: Fall (Depending on Enrollment)
Beginning ballet technique for the general student. The emphasis is placed on line, control, alignment and musicality. Students will learn elementary combinations utilizing fundamental classical ballet vocabulary.
Notes:May be taken up to two times for credit.
- Offered: Fall
Students learn skills and techniques of contemporary dance. This course, designed for the general student, will explore the basics of contemporary dance including floor, barre, and center work, contemporary ballet technique elements, dynamic enchaînements in center and across the floor, choreography, and musicality.
Notes:May be taken up to two times for credit.