Computer science faculty
Mark Vellinga, M.A.
Professor of Computer Science
M.A., University of South Dakota
M.S., Northwest Missouri State University
B.A., Northwestern College (Iowa)
Professor Vellinga teaches a wide range of Northwestern’s computer science classes, from the introductory courses to the upper level courses in programming languages. A graduate of NWC, he has a Master of Arts degree in computer science and a Master of Science degree in school computer studies. Professor Vellinga has served as a site director and team coach for the Association of Computing Machinery (ACM) programming contest. Two of NWC's teams qualified and participated in the World Finals in Stockholm, Sweden (2008) and in Harbin, China (2009). Memberships include ACM, the Consortium for Computing in Small Colleges, the Association of Christians in the Mathematical Sciences, and the Institute of Electrical and Electronics Engineers.
- Advanced Spreadsheets
- Computer Science I
Computer Science I (4 credits) (IGE option under Quantitative Reasoning) This is the first in a two-semester sequence of courses that introduces students to fundamental aspects of the field of computing; focusing on problem-solving, software design concepts and their realization as computer programs. Topics include procedural abstraction, control structures, iteration, data types and their representation. An introduction to a high-level language, for the purpose of gaining mastery of these principles, will be provided in lectures and hands-on laboratory experiences. Prerequisite: C- or better in MAT090, an ACT math score of 20 or above (SAT 480 or above), or a passing score on the MAT090 placement exam.
- Computer Science II
Computer Science II (4 credits) This course moves students into the domain of software design, introducing principles that are necessary for solving large problems. Here, the classical software design process serves as a basis for treating such topics as abstract data types, specifications, complexity analysis and file organization. Basic data structures and transformations are introduced as representative of the fundamental tools that are used to aid in this process. A high-level language will be used for the purpose of gaining mastery of these principles through lectures and independent hands-on laboratory experiences. Prerequisite: CSC171.
- Enterprise Architecture
Enterprise Architecture (2 credits; alternate years, consult department) Enterprise Architecture investigates the organizational aspects of enterprise information and communication technology acquisition, implementation and maintenance. This course examines technology infrastructure in an organizational context. Students will evaluate technological frameworks and strategies for managing systems for data, information and content. Middleware, legacy systems, total cost of ownership, technology investment analysis, and emerging technologies will be explored. Students will understand how risk management, audit, compliance and security strategies are used. Students also practice communicating technology topics to both IT and non-IT audiences. Prerequisites: CSC171 and 172.
- Electronic Commerce Development
Electronic Commerce Development (4 credits; alternate years, consult department) This course provides an introduction to electronic commerce strategy and the development and architecture of electronic business solutions and their components. Topics covered include the business models and economics associated with e-commerce, system design and implementation, building a Web interface for e- commerce, reliability, security concerns, and legal and ethical issues. Prerequisite: CSC172.
- Programming Languages
Programming Languages (4 credits; alternate years, consult department) This course discusses programming languages from a general viewpoint-what are the properties of all successful programming languages? Also discussed are various programming paradigms: iterative programming, object-oriented programming, functional programming, logic programming, concurrent programming, etc. Programming may be done all in one language (emulate other paradigms), in a few select languages (one for each paradigm), or in a large variety of languages. Prerequisites: CSC270 and 351.
- Senior Project
Senior Project (2 credits) This course gives the student an opportunity to branch off into an area of their own selection. The student must obtain approval of a project proposal from a member of the department before registering for this course. The project will require planning, design, and implementation of a computer application in such a way as to integrate the material from computer science courses and courses outside computer science. Students with career concentrations or minors are encouraged to make use of materials from their other subject areas.
- Professor of Computer Science since 1990
- Association of Computing Machinery
- Consortium for Computing in Small Colleges
- Association of Christians in the Mathematical Sciences
- Institute of Electrical and Electronics Engineers