Introduction to Computer Science and Programming – CS 142 Panos Linos
This course is about the science of the “artificial.” It explains what Computer Science is and how it is different from the natural sciences such as physics and biology which study the familiar world around us. However, our environment is evolving and it is becoming an “artificial” one (i.e. man-made). Therefore, LAS students must be exposed to the fact that science must entail both natural and artificial phenomena. Such phenomena result into less intuitive artifacts such as computer programs written in a programming language, which can be synthesized and/or analyzed.
Object Oriented Programming and Data Structures – CS 248
Jon Sorenson
A specific problem is solved when we find an answer. This course embodies the practice of applying logical reasoning to solve general problems by creating algorithms and supporting data structures. When we run an algorithm, it supplies an answer to a specific instance of the general problem that the algorithm solves.
The liberal arts are sometimes defined as intellectual skills and general knowledge. So, as a part of the College of Liberal Arts and Sciences, this course stresses logic, problem-solving, and the design and analysis of algorithms and data structures. These are intellectual skills that can apply to all disciplines, and indeed to all areas of life.
Computer Organization – CS 321
Jon Sorenson
One of the core areas of the traditional liberal arts is the study of logic (as part of the Trivium). In this course we will see, in a very concrete and constructive way, how computers and algorithms are built from the simplest of logical operations: AND, OR, and NOT. Thus the discipline of computer science is rooted firmly in logic, and this course will help develop your logical reasoning skills.
Algorithms – CS 351 Jon Sorenson
The study of algorithms is the heart of computer science. As an
extension/continuation of CS248, we will learn more about algorithm design and
analysis. We'll study the algorithm design methods of divide-and-conquer, dynamic programming, greedy algorithms, backtracking, and branch-and-bound. We'll study computational complexity, including lower bounds, intractability, and the theory of NP-completeness. We will also dabble in parallel algorithms. Along the way we will learn some new algorithms and datastructures.
Towards a Liberal Education
A specific problem is solved when we find an answer. This course embodies the practice of applying logical reasoning to solve general problems by creating algorithms. When we run an algorithm, it supplies an answer to a specific instance of the general problem that the algorithm solves. The liberal arts are sometimes defined as intellectual skills and general knowledge. So, as a part of the College of Liberal Arts and Sciences, this course stresses logic, problem-solving, and the design and analysis of algorithms. These are intellectual skills that can apply to all disciplines, and indeed to all areas of life.
Parallel Programming for Cluster Supercomputers – CS 473-01
Jon Sorenson
We are in the midst of a paradigm shift in how science research is conducted. Mathematics has been called the "language of science", but today this role is being taken over by the algorithm. Big science research requires big computation, that is, supercomputers. Today's supercomputers are massively parallel machines that require the ability to reason and program from the perspective of parallelism to be used effectively. Today's supercomputers are the desktops (and cellphones) of the future.
The liberal arts are often defined as intellectual skills and general knowledge. So, as a part of the College of Liberal Arts and Sciences, this course stresses logic, problem-solving, and the design, analysis, and implementation of parallel algorithms. These are intellectual skills that can apply to many disciplines, including the sciences, business, and engineering.
Introduction to Media Computation – CS 473 Peter Henderson
Media, using any of the human senses - text, visual, audio or tactile - is our basic method of communications. Digital technology has significantly enhanced our abilities to capture, generate, store, transmit, translate, manipulate and search media. Examples include, among others, digital cameras and scanners, word processors, email, image databases, and search engines such as google. With this communications paradigm shift our way of acquiring information has changed from reading to primarily one of filtering information.
How is this relevant for a student studying liberal arts? Answer: information and communications. Today students must use all these modern methods of communications and acquiring information. A better understanding of how modern digital media works can better help them achieve their career goals.
How does an iPod work? What is stored in an iPod, or in a CD or DVD disk? How is digital media for sound, pictures and video stored, protected, transmitted, and manipulated? This course is open to any student interested in gaining a better understanding of the technology underlying digital media – storage, playback, manipulation, protection, transmission, etc. Some knowledge of computer programming is helpful, but is not necessary.
The course will present various formats which are used to store digital media for voice, music, images and video on various media (e.g., magnetic and light). It will discuss the advantages and disadvantages of various storage formats (e.g., mp3, iPod, jpeg, mpeg, DViX, etc), and the transmission of digital media (e.g., data compression, information loss, etc.). One focus will be the manipulation of digital media (i.e., algorithms for manipulating digital sound, images and video).
Interdisciplinary groups of students will work on laboratory activities which reinforce and make real relevant concepts. These might include activities for capturing, generating or manipulating digital sound, enhancing or changing digital images, or transforming/manipulating video. One goal of the interdisciplinary groups will be to learn from each other. For example, media arts students will learn from computer science students and visa versa.
Computer Ethics – CS 485 Jon Sorenson
The development of the computer has had many profound effects on our society. In this course, we will discuss the social, legal, and ethical issues surrounding computing. Some topics include privacy issues, wiretapping and encryption, reliability and safety, intellectual property, computer crime, constitutional issues, and professional ethics and responsibility.
Towards a Liberal Education
The liberal arts are sometimes defined as intellectual skills and general knowledge. As a part of the College of Liberal Arts and Sciences, this course provides opportunities to advance your liberal education by encouraging you to:
* Think logically and critically,
* Think for yourself,
* Effectively communicate your ideas, and
* Consider how your decisions can affect the lives of others.
EPICS – CS282, 283, 382, 383, 482, 483 Jon Sorenson
EPICS (Engineering Projects in Community Service) is about producing software for charity or non-profit organizations. Our goal is to practice the software lifecycle and the many intagibles that go along with developing large pieces of software.
The course projects for EPICS are
* Languages in Action, a series of games and tools to help elementary and middle school students learn foreign languages. Currently we support Spanish and Greek, and our current client is the Greek school at the Greek Orthodox Church. The centerpiece of this software is a Flash game called Quickdrop.
* Software to support the administration of the Lutheran Center for Family Services (LCFS). This software is traditional IT applications using Microsoft NET. In addition to contributing to the team's efforts, you will have an individual responsibility called a semester job.
Towards a Liberal Education
The liberal arts are sometimes defined as intellectual skills and general knowledge. As a part of the College of Liberal Arts and Sciences, this course provides opportunities for you to practice and develop your
* Communications skills, both oral and written,
* Teamwork skills,
* Leadership and project management skills, and
* Algorithmic and logic problem-solving skills.
You will also have chances to apply ethical and moral decision-making in a context that is similar to the real business world.