No Slide Title - Computer Science

advertisement
CS 10051: Introduction to
Computer Science
What is the course about?
Organizations for the first course in
computer science
course – Learn the
“language of the year” be it Java, C++,
C#, Python, Visual Basic, etc.
 Problems with this approach:
 1) A programming


Students come to believe computer
science is the same as programming. It
isn’t.
Programming is to computer science like
writing is to an English major. All computer
scientists can program, but they do many
other things as well.
Organizations - continued

2) Study the hardware only. How is data
represented in a computer? How does a
computer function?
 Problems with this approach:



Computer science is not just about machines
although all computer scientists understand the
basics of how a computer is logically constructed.
Machines are to computer science like
microscopes are to biologists and telescopes are
to astronomers.
However, the computer is a bit more complicated
than these and some understanding of its
“innards” helps explain why certain things can and
cannot be done.
Organization - continued
 3)
Learn how to use various types of
software such as word processors,
spreadsheets, web designers, etc.
 Problems with this approach:



Most computer scientists view these tasks as
being in the realm of “computer literacy”, not
computer science.
While computer scientists can use these tools,
normally they do not take courses covering
these topics.
These topics are covered in CS10001
(Computer Literacy)
Organization - continued
Depth first approach – start with the
most abstract ideas, the development of
algorithms, and concentrate on these.
Only after many designs are done, will
any concrete examples be examined.
 Problem with this approach:
 4)

Many students, especially beginning
students, have difficulty with the level of
abstraction, although some do find it a
worthwhile approach.
Organization - continued

first – provide an overview of
many topics and some depth in each.
5) Breath






Hardware
System software
Programming languages
Algorithm design
Applications such as artificial intelligence,
database, natural language processing, etc.
Complexity theory
Breadth First Organization
This is the approach we will take. It’s somewhat
like learning the first week of many upper
division courses.
 One goal is to help you answer, “What does a
computer scientist do?” and “What can’t a
computer do?” We hope that knowing those
answers will help you no matter what you decide
to do in the future.
 And, of course, we hope you will find that
working with computers is FUN and intellectually
stimulating!

Course goals

1. To introduce you to the formal discipline of
computer science and its terminology.
 2. To foster your appreciation of the range of
ideas that form the bedrock on which the
discipline of computer science rests.
 3. To hone your abilities to use scientific
methodology for investigating the nature and
use of computing in the world.
 4. To develop in you an appreciation of what
computing can do and can not do to aid the
study of any discipline.
Course goals – continued

5. To introduce the experimental as well as
the inductive nature of the computer science
discipline and help you distinguish between
these approaches.
 6. To improve your ability to write and discuss
scientific issues in computing.
 7. To improve your ability to read and
understand scientific materials in computing.
 8. To develop in you a familiarity with
computing that will allow you to grow with the
discipline in future years.
What are not goals for course

To instruct you in the use of specific computing
products such as Microsoft Office Products or a
particular operating system.
 2. To instruct you which button to push on which
screen.
 3. To teach you to program in the "computer
language of the year".
 4. To make you an expert in all of the areas on
which we will touch.
Download