Special Topics in Applied Computing
Objectives: This course is a special topics in
computer science curriculum. It offers students how to apply fast, effective and
pragmatic programming skills to solve certain less complex computing tasks. By
presenting a connection between theories and
applications in early stage, the class motivates students to explore unknown
domains in computer science, as well as builds a solid
foundation for advanced topics in computer science and engineering. In a sense,
this is an entry level, but rather complete miniscientific
computing class, with components such as programming, data collection, process,
analysis, and visualization. Upon
completion of this course, a student should be able to:
1. Understand elements, structure and flow of a program;
2. Examine and adapt existing programs;
3. Implement fundamental algorithms with programming;
4. Recognize simple science and engineering problems and ready to solve them
with effective programming;
Despite the 200 level numbering , this course is qualified as an undergraduate
computer science elective course.
Prerequisites: MATH 207 and CS 284
Classes:
1820-2050 Thursday
HT 113
Instructors: Dr. Xinlian Liu
Office: HT 251
Phone: (301) 696-3981
Class Website: The class discussion board is a 'private board', while
only currently enrolled students
can browse/post. Students are responsible for monitoring this class website for
any new material, i.e. homework, announcement,
references, etc. as they are posted.
Grade of homework assignments and exams will be posted on the college
‘Blackboard’ system . You may get ‘Blackboard’
password information through the college IT department.
Office Hours: Monday, Tuesday, Thursday: 20:50-21:20, Friday: 9:00 –
10:00
Otherwise by appointment. EMail is a reliable way of getting a message to me in
a timely fashion. The EMail address given above
is the preferred address for this course. Refer to the “Email Netiquette” which
can be found on the class forum for proper Email
format.
Textbook:
Smith, D. M. 2007. Engineering Computation with MATLAB,
Addison-Wesley.
Tentative Contents:
1. Fundamental MATLAB
data manipulation.control.functions.recursion.file I/O
2. Apply Proper Data Structures in Problem Solving;
arrays.strings.cell arrays.structures.
3. Visualizing Numeric Data ;
2D plotting.3D plotting.surface plots
4. Matrices;
.basic matrix operations .geometric transformations. simultaneous linear equations
5. Image Processing;
.nature of image.image operations.edge detection
6. Digital Signal Processing ;
.physics of sound.time domain operations.FFT.frequency domain operations
7. Numerical Methods ;
. interpolation. curve .numerical integration. numerical differentiation
8. The Cost of Computing;
algorithm performance.tractability of problems
Homework: There will be a variety of homework
assignments. Programming assignment is by default due before the next class by
EMail; or by a date designated when the assignment is given. A print out of the
program is also due in class. Non-programming
homework is by default due in class one week after it is given, or by a date
indicated on the assignment sheet. Be sure to start your
homework assignment early. Writing a program is often easy, or at least easier
than the process of troubleshooting. You are
advised to have the program done by Friday, and use the weekend for any 'just in
case' situations. Start a homework assignment on
the weekend is often almost certainly too late.
A late submission costs you 10% each 24 hours passing the deadline, and will not
be accepted for credit after the 5th day passing
the deadline. You have a ‘once in a semester chance’ of postponing homework
submission by up to three days. You must inform
the instructor before the deadline, if you want to evoke the ‘3 days forgivable’
rule . The instructor advises you not to request
homework extensions except under extraordinary situations, which is defined very
narrowly and literally .
Students should keep a copy of all completed homework and projects, etc.
Attendance: Attendance is critical to the success in this class,
especially in the latter part of the semester when we do extensive
discussions on topics not covered in the textbook. Having that said, all
students are expected in all classes. If you can not attend a
class, please send the instructor an EMail in advance, so that we both have
something in writing in case of confusion arises.
Discussions within/without class is encouraged and promoted. Absent from a
class, approved or not, is not an automatic excuse to
miss or delay a homework. Students missing from a class are still responsible in
catching up with the class, completing the
homework and turning it in on time.
If a student misses any quiz or exam without prior agreement by the instructor,
the student receives a zero grade.
Any coursework and derivatives (homework, projects or programming assignments,
etc.) submitted during the semester may be
later used for evaluation, teaching, or research purposes; they may also be
published or made public, without additional notice.
Quiz: There will be two in class quiz, when students are given
programming problems to be worked out on computers in limited
time.
Bonus: You get bonus points for participation in
discussions in and out of class. You also earn bonus for posting on class
website
discussion board. The bonus points allocation is at the instructor's sole
discretion.
Grading Policy:
Homework (60%) + Quiz (10%*2) + Final Project (20%)
A: 90%; B: 80%, C: 70%, D: 60%
Ethics: Exams and homework should reflect individual work. Code ‘copy &
paste’ is strictly prohibited under any circumstances.
If you adopt ideas from a book, talk, or the Internet in your work, please give
proper credit to the original sources. If a quiz or exam
is open book, you can not discuss with any one, in person or electronically; and
you can not use a computer in any exam unless
approved by the instructor in advance.
Be prepared to spend 7-8 hours per week on this course outside of the classroom.
Read geek news (slashdot, etc), follow tech
trends, make some fun. As to programming skills, practice makes perfect .
Tips to succeed in this class:
1. start working on the homework as early as possible, better the same evening
of the class;
2. ask questions whenever the moment you feel lost in the class;
3. participate in the forum discussions
Note: This course syllabus/outline is tentative and subject to perpetual
revisions as needed. The most up-to-date version will be
posted on the class web page. The instructor may change any aspect of it with
advance notice to students.