College of Science, Engineering & Technology
Department of Computer & Information Sciences
273 Wissink Hall
Phone: 507-389-2968
Website: Computer & Information Sciences
Chair: David Haglin
Gregg Asher, Cyrus Azarbod, Rebecca Bates, Steven Case, Lee Cornell, Cesar Guerra-Salcedo, David Haglin, Allan Hart, Dean Kelley, Ann Quade, Richard Roiger, Hamed Sallam, Julio Sanchez, Susan Schilling, James Slack, Mahbubur Syed, Leon Tietz, Christophe Veltsos, Michael Wells, Colin Wightman
Bachelor's degree programs offered by the Department of Computer and Information Sciences prepare graduates for positions in computer-related fields as well as advanced, post-graduate study. The department offers majors in Computer Science (CS), Computer Information Science (CIS), Management Information Systems (MIS), and three minors.
MIS Note: Management Information Systems (MIS) is a cross-disciplinary field of study which combines the technical aspects from computer science with the resource management techniques from business. Students who have an interest and an aptitude for the technical aspects of MIS should consider the MIS major in the Department of Computer and Information Sciences. This program has about two-thirds courses in the Department of Computer and Information Sciences and one-third Business courses.
Admission to Major is granted by the department. Admission to the Major is required before the student is permitted to take 300- and 400-level courses. Requirements are:
Choose one of the following Speech courses:
101, 102, 202, 203, 315, 325, 333, or 403.
Choose an additional eight credits of coursework from the following courses:
* minimum of 4 credits of required electives must be of 400-level
# can only be selected as a required elective if NOT chosen under required for major courses
The following courses are not to be used in this major: 100, 101, 160, 171, 200, 272, 321, 491, 492, 493.
Choose one of the following sequences:
Any class numbered 200 or above in Astronomy, Biology, Chemistry, Geology, or Physics or one class from another sequence listed above.
*May be used to fulfill General Education requirements.
Required Minor: Yes. Any. Note that the Mathematics requirements specified above fulfill the requirements for a mathematics minor.
Choose one of the following Speech courses:
101, 102, 202, 203, 315, 325, 333, or 403.
At least eight credits of these electives must be 400-level classes
Choose one or more of the following Category I Courses:
Then choose additional credits of COMS electives from the COMS courses not used above or from the following list:
The following courses are not to be used in this major: 100, 101, 160, 171, 200, 272, 321, 492, 493.
Required Minor: Yes. Any.
Choose one of the following Speech courses:
101, 102, 202, 203, 315, 325, 333, or 403
Choose one of the following courses:
Choose eight credits from the following courses:
*Minimum of 4 credits of required electives must be of 400-level
The following courses are not to be used in this major: 100, 101, 160, 171, 200, 272, 321, 491, 492, 493.
Required Minor: None.
Choose one of the following courses:
Choose three of the following courses:
Choose one of the following courses:
GPA Policy. A GPA of 2.5 or higher in courses required for a major or minor in the Department of Computer and Information Sciences is required for graduation. This GPA requirement is calculated and must be maintained for each of the following areas: 1) for the combined Required General Education and Required Support Courses, or their substitutions, if any; 2) for the Required for Major and Required Electives courses including Category I courses, if any. When pursuing the Management Information Systems major, this second requirement must be maintained in the COMS component of the major as well as in the overall major. It is recommended that students who cannot maintain a GPA of 3.0 in required 100 and 200 level courses see their advisor for a program review.
Refer to the College regarding required advising for students on academic probation.
Grading Policy. All coursework applied towards the major or minor, including required general education and support courses, must be taken for a letter grade except for courses offered only as P/N.
A minimum grade of C is required in all courses which are to be applied towards a departmental major or minor program, including those required courses which are in supporting areas (such as ENG 271). In addition, a minimum grade of C is required for all prerequisite courses. Grades of D are not accepted by the department.
Any student who receives a D or F in a COMS class, or who drops a COMS class after the first two weeks of the semester, will have a hold for COMS classes put his/her registration. In other words, he/she will not be able to register for future COMS courses until the hold is released.
To have the hold released, the student must meet with his/her advisor and present the advisor with an appeal form. This form will be available from the Office of Computer Science (273 Wissink Hall).
This hold policy does not apply to students who are taking 100-level COMS courses.
Administrative Drop Policy. Students enrolled in COMS 110 who do not attend class the first meeting of a once-a-week class or do not attend by the first meeting of class will be automatically dropped from the course by the end of the first week of the current semester. If you are not able to attend the first class session as listed above and do not wish to be dropped, you will need to submit a written request to the department prior to the first day of the course at the following address: ad-computer@mnsu.edu. For assistance with the process, call the Office of Computer Science at 507-389-2968.
Incomplete Policy. An incomplete grade for a course will generally be given only under two conditions. The first condition is illness a doctor's written recommendation must be supplied. The second condition arises when a death in the student's family has caused the student to be away from the campus for an extended period of time. The student must have a satisfactory grade (C or better) in the course at the time of the onset of the condition.
Internship Policy. The Department of Computer and Information Sciences continuously strives for improvements in the academic program. Coursework, coupled with extensive laboratory experience, play an important part in the student's educational program. However, application of the concepts discussed in class to on-the-job situations is equally important. As a result, the department requires an internship for all CIS and MIS majors.
COMS 100, 101, 160, 171, 321, 492, and 493 do not count toward a major or minor in the computer and information sciences.
Residency: At least 50 percent of the computer and information sciences credits required for a major or minor from this department must be earned at Minnesota State University, Mankato.
COMS 100 (4) Introduction to Computer Science
This course provides a basic foundation in computer concepts and literacy. Topics include the development of computers, hardware, software, and their social implications. The course includes a hands-on lab which introduces students to various systems and applications software including graphical user interfaces, word processing, drawing and painting programs, electronic mail, the Internet, spreadsheets, databases, and presentation software. This course cannot be counted toward any major or minor offered by the Department of Computer and Information Sciences.
F, S
GE-13
COMS 101 (3) Introduction to Microcomputers
An introductory course in personal computer use for business majors. Provides an understanding of what personal computers are, how they are controlled, and their usefulness in the business world. Assignments include work on word processing, spreadsheets, presentation packages, communications, an introduction to web pages, and graphics. This course cannot be counted toward any other major or minor offered by the Computer and Information Sciences department.
F, S
COMS 110 (4) Foundation of Computer Science
This course provides a comprehensive introduction to the foundations of computer science. The topics covered include algorithms, pseudocode, computer theory, computer hardware, computer software, and the related social issues. Lab work develops familiarity with both hardware and software. The course is intended to provide knowledge and skills applicable to all disciplines while providing a broad introduction to the field of computer science.
Pre: MATH 112 (College Algebra) F, S
GE-13
COMS 160 (1) Introduction to Selected Operating Systems
This course is intended to provide the student with hands-on experience with a particular operating system. This experience would include terminal operation methods; and the creation, manipulation and editing of files. The course may be repeated for different operating systems.
Variable.
COMS 171 (2) Introduction to C++ Programming
This course provides an introduction to programming using C++. Emphasis on structured programming concepts, with a brief discussion of object-oriented programming. Control structures, expressions, input/output, arrays, and functions.
F, S
COMS 200 (4) Microcomputer Applications
Using both a lecture and lab environment, this course seeks to provide students with additional personal computer experience on both IBM and Macintosh platforms in these areas: operating systems, graphics, WWW page development, telecommunications, utility software, networking, file transfer, presentation software.
Pre: COMS 100, 110, or 101 or consent of instructor Variable
COMS 201 (2) Introduction to Assistive Technology
This course introduces students to assistive technology and its applicability to people with various disabilities. Hardware and software demonstrations with an emphasis placed on inexpensive and readily available solutions. Extensive use of the Internet will be employed to keep current with latest technology and to facilitate a continuing dialogue with instructor.
Variable
CD-Related
COMS 202W (4) Computers in Society
This course seeks to confront participants with complex social and ethical issues associated with computers. Through thoughtful questions, informative readings, and the analysis of dichotomous viewpoints, courses participants will gain insight into the complexity of technology- related issues discussed as well as the lack of simplistic solutions to the problems.
F, S
GE-1C
COMS 211 (4) Fundamentals of Computer Science I
This is the first course in a two-course sequence for students who are planning to major or minor in computer science. The course emphasizes concepts needed for continuing study in computer science, the use of abstraction in program design, and advanced problem-solving skills. Programming in a high-level language is a focal point of the course.
Pre: A grade of A or B in COMS 110. Coreq.: MATH 121 (Calculus I) F, S
COMS 212 (4) Fundamentals of Computer Science II
This course is a continuation of 211. The course introduces students to object-oriented concepts and programming techniques. It also covers essential data structures such as linked lists, stacks, and queues, and trees. The student will be expected to produce larger applications, utilizing multiple compilation units.
Pre: COMS 211 F, S
COMS 230 (4) Intelligent Systems
The course covers fundamental material on data mining and knowledge discovery. Several data mining methods including decision tree algorithms, association rule generators, neural networks, and web-based mining are detailed. Rule-based systems and intelligent agents are introduced as methods for building decision-making models. Students learn how to apply data-mining tools to real-world problems.
Pre: COMS 100, 101 or 110 F
COMS 260 (4) Assembly Language Programming
Assembly language programming techniques. Machine level data representations, instructions, and addressing modes. Accessing operating system facilities using assembly language, writing and using macros.
Pre: COMS 212 Variable
COMS 270 (1-4) Introduction to Selected Programming Language
This course provides an overview of a selected high-level programming language. Special features of the language will be emphasized, along with its control structures, input/output, storage structures, and abstraction mechanisms. May be repeated for different languages.
Pre: COMS 211 Variable
COMS 271 (4) C++ Programming
This course is intended to provide an overview of object-oriented programming using C++. The coverage of material ranges from traditional structured programming features of C++ such as functions, pointers, and arrays to object-oriented features such as classes, inheritance, and polymorphism. The course also includes real-world application examples.
Variable
COMS 272 (4) Fortran Programming
To learn the algorithmic programming language FORTRAN to solve scientific, engineering and mathematical problems.
Pre: COMS 100 or 211 Variable
COMS 296 (1-2) Introduction to Selected Topics
Special topics not covered in other 100- and 200-level courses. May be repeated for each new topic.
COMS 310 (4) Data Structures & Algorithms
Study of trees, hashing, and graph algorithms. Analysis of algorithms, memory management, and proof techniques.
Pre: COMS 212, MATH 180 or 121 F, S
COMS 320 (4) Machine Structures and Programming
Introduction to computer hardware and its design including Boolean logic, basic digital circuits, number representations and digital arithmetic, instruction set design, digital storage, performance metrics, processor datapath and control, pipelining, memory hierarchy, busses and I/O interfacing, parallel processors.
Pre: COMS 212, MATH 180 or 121 F, S
COMS 321 (4) Micro Configuration & Maintenance
Provides a working knowledge and hands-on experience with configuring, upgrading, optimizing, troubleshooting and repairing personal computer hardware, networks and system software. Preventative maintenance and emergency recovery techniques. Does not satisfy requirements for any department major.
Pre: Jr/Sr status or consent Variable
COMS 340 (4) Database Management Systems I
Introduction to the concept of database systems; database models; database management systems; file organization; design of databases using data modeling and normalization; conversion of data model into relational, network, and hierarchical data models; extensive coverage of SQL and implementation of an application using a relational database in a team environment.
Co Req: COMS 212 F, S
COMS 350 (4) Operations Research I
A first course in decision theory and linear programming. Topics covered include problem modeling, decision analysis, forecasting, inventory systems, and linear programming, including the SIMPLEX method, duality, sensitivity analysis, and various applications such as the transportation problem, network flow problems, and project management.
Pre: COMS 212, MATH 180 or 121, and STAT 154 Variable
COMS 360 (4) Systems Programming
Machine level I/O and operating system file processing. Structure of systems programs including assemblers, linkers, and object oriented utilities and interfaces. Writing utility programs and extensions to an operating system.
Pre: COMS 212 Variable
COMS 361 (4) Windows Programming
This course addresses programming Microsoft Windows 95 to Windows XP. Course approach is at the API level and uses Visual C++. The course covers topics such as: event-driven paradigm, API programming, application and graphics support services, drawing geometrical figures, bitmapped graphics, and DirectX fundamentals.
Pre: COMS 212 Variable
COMS 362 (4) Introduction to Data Communication and Networking
This course covers basic concepts related to data communication and networking. Topics addressed will include the OSI model, the Internet model, network management, network protocols and data security.
Pre: COMS 212 F, S
COMS 370 (4) Concepts of Programming Language
A comparative approach to general concepts of current higher-level programming languages. Various programming language paradigms will be covered, including imperative, object-oriented, functional, and logical.
Pre: COMS 310 S
COMS 371 (4) Applications Programming
This is a course in application program development designed to simulate large scale development. Students will be introduced to the programming language, COBOL, but the emphasis of the course will be on principles of application programming such as, control breaks, table manipulations, file manipulations, sorting, interactive programming, sub-programming, index-sequential file handling, structure charts, and program documentation.
Pre: COMS 212 F,S
COMS 380 (4) Systems Analysis & Design
This course explores both structured as well as object oriented systems analysis and design. Use of upper and lower CASE tools are employed in the analysis, design and implementation of a team oriented term project.
Pre: COMS 212 F, S
COMS 410 (4) Abstract Machines and Grammars
This course studies the computational ability of a variety of computational models including finite state machines, regular expressions, context-free grammars, and Turing machines. For each model, the student will develop, study and apply techniques for determining those languages which are computable using the particular model.
Pre: MATH 375 F
COMS 412 (4) Graphics
Concepts and algorithms used in computer graphics, including polygonal and curved images in both 2 and 3 dimensions, representation of solid objects, and color and illumination models.
Pre: COMS 310, MATH 247 ALT
COMS 420 (4) Advanced Computer Organization
Advanced topics in computer architecture including a major emphasis on measuring and improving computer performance. Topics include advances in pipelining and analysis and optimization of storage systems and networks, multiprocessor challenges and trends.
Pre: COMS 320 Variable
COMS 430 (4) Artificial Intelligence
Artificial intelligence problem solving techniques including predicate logic and the resolution principle, artificial intelligence programming languages, machine learning, neural network models and object oriented methods are discussed.
Pre: COMS 230 or 212 S
COMS 432 (4) Robotics
Current practice and future directions in robotics including robot anatomy, kinematics, sensors, sensor interfacing and fusion, mobile robotics, real-time programming, vision and image processing algorithms, subsumption architecture.
Pre: COMS 260 or 320 S
COMS 440 (4) Database Management Systems II
Extensive coverage of query processing and optimization; concurrency control and recovery, and security and integrity in centralized/distributed environments. Team-oriented projects in a heterogeneous client server environment.
Pre: COMS 212 F, S
COMS 450 (4) Operations Research II
A second course in operations research for majors and non-majors. Topics include computer simulation, game theory, stochastic processes, queuing theory, Markov processes, and reliability. Simulation topics include Monte Carlo methods, discrete and continuous simulations, simulation languages and packages.
Pre: COMS 350 and STAT 354 Variable
COMS 460 (4) Operating Systems
This course covers basic operating systems concepts including processes, interprocess communication, interprocess synchronization, deadlock, memory allocation, segmentation, paging, resource allocation, scheduling, performance evaluation, file systems, storage, devices, protection, security, privacy and distributed systems.
Pre: COMS 320 F
COMS 462 (4) Communication Protocols
Advanced coverage of data communication and networking protocols with an emphasis on protocol design and implementation. Topics addressed will include data transmission methods, error detection and recovery, flow control, routing, data throughput, and performance analysis of existing and emerging Internet protocols.
Pre: COMS 362 Variable
COMS 463 (4) Client/Server and Web Applications
Introduction to distributed and client/server systems. Network operating systems to support C/S. Database servers. Client server and the Internet. Distributed objects. Web-based application development on PC and UNIX platforms. The principal functions of web servers and how they handle clients. CGI, ASP, JSP, JDBC, JavaBeans, Active-X, Servlets.
Pre: COMS 362 F, S
COMS 464 (4) Mobile Applications and Networks
This course provides an understanding of existing and emerging mobile and wireless data networks, with an emphasis on digital data communications. Students will gain an understanding of the unique considerations that must be given to network protocols for wireless and mobile communication as well as their applications.
Pre: COMS 362 and either COMS 320 or COMS 340 Variable
COMS 465 (4) Parallel and Distributed Processing
This course offers an introduction to technical issues related to parallel and distributed systems. Topics addressed included parallel and distributed programming languages, parallel algorithm design and analysis, and parallel and distributed architectures. The course includes practical parallel programming experiences.
Pre: COMS 362 Variable
COMS 470 (4) Compiler Construction
Principles and techniques of compiler construction. Development of efficient parsers and scanners; manual and automatic approaches. Optimization techniques and code generation.
Pre: COMS 370 Variable
COMS 480 (4) Software Engineering
This is a course in software engineering that introduces the student to all important aspects of the discipline. The main purpose of this course is to simulate the engineering of a software product, from gathering requirements through implementation and maintenance. The course emphasizes a traditional development methodology. Students will be introduced to Visual Basic and Microsoft Project, but the emphasis of the course will be on principles of software engineering including project planning, requirements gathering, size and cost estimation, analysis, design, coding, testing, and implementation.
Pre: COMS 380 F, S
COMS 481 (4) Rapid Application Development
In-depth understanding of low and high CASE tools and rapid application development. CASE tools will range from the traditional software development life cycle to object-oriented client/server environments. Extensive team-oriented applications will be developed using tools such as SYNON, OBSYDIAN, Power Builder, and MSSQL server.
Pre: COMS 340 Variable
COMS 492 (3) Computers in the Classroom
Using both a lecture and lab format, this course provides students with a foundation for developing computer-delivered instruction within the classroom by examining the hardware and software which are part of emerging technologies, and the research issues associated with the developing effective instruction using the computer.
Pre: Senior status Variable
COMS 493 (3) Computer-Based Instructional Systems
This course provides participants with opportunities to develop, implement, and assess formative and summative evaluation instruments; identify researchable issues in computer-delivered instruction; develop computer-delivered instruction using a sophisticated authoring tool.
Pre: Senior status Variable
COMS 495 (1) Seminar in Computer Science
Provides Computer Science majors and minors an opportunity to explore a topic not normally covered in the curriculum, in a small-group setting.
Pre: Consent F, S
COMS 496 (1-4) Selected Topics in Computer Science
Special topics not covered in other courses. May be repeated for credit on each new topic.
Pre: Consent Variable
COMS 497 (1-12) Internship
This course is designed to provide students with an opportunity to utilize their training in a real-world business environment. Participants work under the guidance and direction of a full-time staff member. (At most 6 hours toward a major in this department.)
Pre: Permanent admission to the CS, CIS, or MIS major, completion of four courses from COMS 310, 320, 340, 362, 380, and consent. F, S
COMS 499 (1-2) Individual Study
Problems on an individual basis.
Pre: Consent F, S