computer science - i course introduction computer science department boston college hao jiang

18
Computer Science - I Course Introduction Computer Science Department Boston College Hao Jiang

Post on 20-Dec-2015

222 views

Category:

Documents


3 download

TRANSCRIPT

Computer Science - ICourse Introduction

Computer Science Department

Boston College

Hao Jiang

What is our class about?

In this class, you will learn • Skills of solving problems using computers.

• Basic theories and concepts about computing and programming.

• programming a computer language – Java.

After the class, you will • be confident of writing programs to solve real world problems

(like math problems, image processing, visualization, graphics and building games …)

• Be ready for more advanced computer science classes.

About computer science Computer science is to study principles and methodologies

of solving problems with computational methods and computers.• How to build “efficient software” that suits computers.• How to represent, store, search, analyze and transform

“information” or “data”.

Computing is everywhere!• Finding the root of a high order polynomial equation.• Finding the best driving path from one city to another.• Graphics and computer games.• Artificial intelligence, computer vision.• Decide about how to invest money for different stocks.

Applications of computer science

A route planer

You are here

Your destination Roadintersection

Applications of computer science

Robotics: How to a find route in a maze?

entrance

exit

Applications of computer science

ImageProcessing

Applications of computer science

Computer graphics

The tree looks quite complex.But in fact it canbe generated with very few linesof code.

Sakura (Cherry Blossom)

by Priscilla Pham and Tom Wang

Applications of computer vision

Computer games

Quake 2

Tetris

The basic problem solving method

Different real-world problems need different solution approaches. But in computer science, they usually follow some common steps:

• Problem abstraction and modeling.

• Developing algorithms to solve the problem.

• Software design.

• Coding.

• Testing.

Programming (coding)

Coding is the process of building a software.

The result is a package of computer programs that satisfy the design requirement.

Writing programs based on a given requirement is an important part of this class. (you will expect to write many programs in this class).

Coding is not just about writing a program that gives the

right result. Good software is also efficient, easy to use, maintain and extend.

Program design

There are two main methodologies of constructing software• Procedure oriented.

• Data (object) oriented.

We will cover both of these two schemes in our class.

Object oriented programming is a relative new scheme and gaining more and more acceptance.

We spend quite some time in this class to talk about class, object and how to use them to design computer software.

Programming language

We are going to use Java to illustrate programming and solving problems.

Java is a higher level language than C or C++ and therefore easier to program.

Java is designed to be “compiled once and executed anywhere”.

After learning Java, you should be able to learn other programming languages much more quickly.

.

The rough schedule of our class Our class website is at: www.cs.bc.edu/~hjiang/c1012/index.html

Text book: “Introduction to programming in Java” by Robert

Sedgewick and Kevin Wayne.

The marking scheme in our class is: Assignment and project 35% Midterm 15% Course Project 35% Final Exam 15%

Assignment and projects

Programming assignments:

The last assignment is an open project, for which you can do any programming project you are interested in.• You will write a proposal.

• And finally show a demo in class.

• Projects can be done in groups.

A previous programming assignment.

About exams

There is one in-class midterm exam and one final exam.

The exams test your understanding of concepts and problem solving skills learned during the class.

If you come to class and do you assignments, you have all the knowledge necessary for the exams.

Other issues

Computer labs. Programming environment (Command line and IDE). Office hours. Teaching assistant.

More questions you have for me?

The Hello World Program

Homework

Find out whether you can access the computer lab (the unix lab). If you cannot, contact me or Phil.

If you would like to install a Java SDK at home, download the newest Java SE (Standard Edition) at

http://java.sun.com/javase/downloads/index.jsp

download “Java SE Development kit 6 Update 11”

Try to type, compile and run Hello World program.