Course Information for Non-Majors
Information for Non-Majors about CIS Courses
- Note that either 108 or 106 are required for all later CISC courses.
- All four courses below meet Group D Breadth Requirements in Arts & Sciences.
Executive Summary
CISC 108 Introduction to Computer Science I
This is the preferred default course for any student in any department who desires exposure to how to solve problems computationally.
CISC 106 General Computer Science for Engineers
This is required for all engineering freshman, and focuses on computation in MATLAB. It is also of interest to some Science and Math majors.
CISC 103 Introduction to Computer Science with Web Applications
This is required for the Interactive Media Minor, and includes introductory web programming. This course does not lead to further study in Computer Science
CISC 101 Computers and Information Systems
This course is about what computers are and how to use common desktop application software; there is a brief section on computer programming. This course does not lead to further study in Computer Science.
Details
CISC 108 Introduction to Computer Science I
What is computational thinking? Computational thinking is a way humans solve problems; a creative outlet; a way to express abstract ideas in a tangible form. Designing programs teaches a variety of skills: critical reading, analytical thinking, creative synthesis, and attention to detail. Everyone should learn how to solve problems algorithmically, even if they do not study Computer Science. Using technology designed specifically for introductory students, this course teaches problem-analysis and problem-solving skills without imposing the overhead of traditional programming notation and tools. Topics include functional programming, data abstraction, procedural abstraction, use of control and state, recursion, testing, and object-oriented programming concepts. Projects might include games, graphics, dynamic web content or perhaps some robotics. This course requires no prior programming experience, and only high-school algebra (you should be at a math level higher than MATH 010). CISC 108 uses the How To Design Programs pedagogy [htdp.org], which includes
- a concrete design methodology for how to analyze a problem and create a computational solution
- a series of increasingly sophisticated computer languages keyed to student development
- a program development environment for beginners that adapts appropriately to each language level
At the end of this course we will segue into a basic introduction to a commercial programming language. The intended audience is any student with an interest.
CISC 106 General Computer Science for Engineers
This course focuses on programming concepts using MATLAB to solve numeric problems algorithmically that are relevant to engineering students. It also covers some MATLAB libraries/packages useful for engineering students. We intend to try to cover some of the same design methodology material as in 108, when possible. This course assumes a somewhat higher-level math background than 108 (i.e. plotting multi-variate continuous functions; matrix manipulations). The intended audience is College of Engineering freshmen, although students with majors that require numerical MATLAB modeling may find this course useful.
CISC 103 Introduction to Computer Science with Web Applications
The focus here is on an intro to programming in the context of creating dynamic web content. Both web content languages (HTML, XHTML, CSS) and scripting languages (definitely JavaScript, often a little PHP) are featured. The audience for this course is the Interactive Media Minor, or students with the desire to create interesting web content. Note that this is an still just an introductory level course, so students desiring a strong background for web programming should be encouraged to take the CISC Minor and use CISC 474 Advanced Web Technologies as one of the 2 required electives. Students who desire further study in CISC would proceed to CISC 108 after this course.
CISC 101 Computers and Information Systems
What every citizen of the 21st century should know about Computing. What does digital mean? What do computers do? What should they do, could they do? What are the dominant ideas used in the development of software systems, in the appraisal of their performance, in the discussion of the impact of computation on society? Programming is discussed and illustrated, as are dominant types of software tools (word processors, databases, spreadsheets, operating systems, programming languages), but there is no emphasis on building any particular skill in the use of currently popular tools. The intended audience is everyone except those who will learn this material through more advanced CS courses. Non CS majors only. Not open to students with credit for MISY160 or 260, or FREC135.
