![]() |
University of Denver Home Page | DU Department of Computer Science Home Page | Home Page for Catherine Durso |
Instructor:
Catherine Durso
|
TALan Lin |
This course should give students a taste of computer science and mathematics. We plan to convey how interactivity is produced in computer programs, and, fundamentally, in computers. To this end, students will write interactive programs in JavaScript, a common web programming language, and study computer architecture. This will clarify the issue of what is easy to do in computing, and what is difficult. Students should learn to abstract mathematical problems from practical problems, then to solve the mathematical problems, and interpret the solutions. The examples are drawn from finance and the judicial system.
Both computer science and mathematics affect our lives pervasively. The changing capabilities of computers influence the economic, political, social, and artistic structure of our society. For evidence of this, just consider the dot.com industry, privacy issues, email, and copyright questions. Mathematics, as an essential tool in science and engineering, underlies technological developments since the Industrial revolution. Questions of public policy and personal finance raise questions with mathematical solutions. A citizen who lays claim to education must, therefore, have some acquaintance with the power and limitations of these disciplines.
Why are these subjects combined in one course, other than to provide one stop shopping for satisfying core requirements? The disciplines are related by requiring similar thought processes. Both require extended abstract reasoning about artificial systems. Note that the term 'artificial' here is not pejorative. Axiom sets and computers simply are both human creations. Math and computer science are also related by results in each being useful in the other. Computing power facilitates many types of mathematical analysis. Mathematical results underlie many computer applications.
We start with a brief historical and philosophical overview of the subjects, and an invitation to consider their social impacts.
The technical part of the course begins with an introduction to HTML and JavaScript programming. The act of writing a program to achieve a goal introduces some modes of thought necessary throughout the course. The programmer must formulate the goal clearly, determine the role that a program should play in meeting that goal, and work within the confines of the programming language to produce a program that fills that role. The projects should also introduce some of the excitement of using creativity within logical constraints, a kind of deep puzzle solving, to make something that works.
Most likely, the programming will raise the question of why the computer behaves as it does. This is a practical matter. Why isn't an instruction that is perfectly clear to the programmer necessarily perfectly clear to the computer? How much progress has been made in making programming natural? How much more can be made? To address these questions, we will look briefly at how computers are constructed.
Next, we will examine an application of computing and mathematics to financial questions involving interest on investments. Mathematical analysis of these questions produces some useful formulas from very basic assumptions. We create something complex and useful from almost nothing. The computer provides an easy way to carry out the calculations required by these formulas.
Topics in graphing and probability may alo be addressed, as time and interest dictate.
This course is intended to provide cultural enrichment and a few techniques for students not intending to major in a technical field.
The lecture is held in JGH 102 from 9:00 am to 10:50 am Tuesdays and Thursdays.
There are three exams in this course. A student's best two exam grades will count toward the final grade. The exam given during finals week will be cumulative.
projects(5) | 40% total |
in-class labs and quizzes |
10% |
exams | 25% each |
When you turn in work in this course, you are implicitly agreeing that youhave followed the rules for collaboration set forth for that assignment. Copying another person's work on exams or projectsconstitutes plagiarism, a violation of the University ofDenver Honor Code. This code forbids plagiarism, cheating, fabrication,and aid of academic dishonesty. Please note that "aid of academic dishonesty"includes allowing another person to copy your work. This and all otherviolations of the University's academic standards in this class willbe treated with severity. Possible outcomes include (but are not limited to)a grade of 0 on the relevant assignment and a failing grade in the course.In addition, a letter describing the incident will be sent to the Office ofCitizenship and Community Standards, which will address the situation attheir discretion. This office determines additional consequences forviolations to the DU Honor code. These consequences may includesuspension or expulsion from the University.
Extensions for extreme and unusual circumstances that are beyond your controlmay sometimes be granted ifrequested in advance or at the soonest possible time.
Please arrange to hand in work prior to scheduled absences, or immediately on return.
Late assignments will not be accepted.
Exams are given in class and are completely individual efforts. You maynot give or receive assistance in any way. Feel free to ask me forclarification if you do not understand what I am asking.
The calendar below contains links to homeworkassignments,links to programming projects, as well asimportant dates for you to keep in mind.
Please see DU Spring 2005 Final Exam Schedule for additional final exam scheduling information.