Download Course Introduction - Boston College Computer Science Department

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Computer Science - I
Course 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
Your destination
Road
intersection
You are here
Applications of computer science
 Robotics: How to a find route in a maze?
exit
entrance
Applications of computer science
Image
Processing
Applications of computer science
 Computer graphics
The tree looks
quite complex.
But in fact it can
be generated
with very few lines
of 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:
A previous programming assignment.
 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.
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.