Prof. José M Vidal
Office: Swearingen 3A51, Phone: 777-0928
Mobile Phone: (803) 572-4116

Office Hours: See my Calendar

Description and Goals

This is the first course in Computer Science and Engineering. It introduces the design of computer algorithms and their implementation in the Java programming language. The prerequisite is MATH 115 or enrollment in MATH 141. No prior programming experience is assumed, but you should already have some experience using a computer. The goals of the course are

  • Introduce computational problem-solving techniques
  • Introduce the use of computers for the construction of software solutions
  • Introduce procedural abstraction
  • Introduce data abstraction and elementary concepts of object-oriented programming
  • Introduce the development of structured, modular algorithms and programs
  • Introduce the Java programming language.
  • Introduce a modern programming development environment: Eclipse.
  • Introduce a scripting language: Javascript.
  • Convey some of the myriad uses for computing.

Class Meeting Times

Lecture: Monday and Wednesday 12:20 p.m. to 1:10 p.m. (for sections 1 and 2) or 3:35:30 p.m. to 4:24 p.m. (for sections 3 and 4) in Room B213 of the 300 Main Street building.

SectionTimeTA <>Room
1TTH 8:50AM-10:45AMYang Gao <gao36@> SWGN 3D15, Chandra Kollipara <kollipac@> SWGN 1D15
2TTH 11:00AM-12:55PMYi Xian <xian@> SWGN 1D49, Miao Xu <xum@> SWGN 3D41 SWGN 1D15
3TTH 2:00PM- 3:55PMChandra Kollipara <kollipac@>, LingXi Zhou <zhou44@> SWGN 1D15
4TTH 4:10PM- 6:05PMLingXi Zhou <zhou44@>, Yi Xian <xian@> SWGN 1D49 SWGN 1D15

Course Structure

Lectures present the principles of algorithmic design and how to express your designs in the Java language. The lecture will move along quite fast and you will need to be present in order to keep up with all that is covered. I recommend you bring your laptop to lecture so you can work on the examples we will be practicing.

Laboratories meet to walk through an implementation of the principles that have been presented in lecture. It's your chance to learn how to use Eclipse for writing Java programs.

Supplemental Instruction (SI) is available to assist you in better understanding the course material. The SI program provides peer-facilitated study sessions led by qualified and trained undergraduate SI leaders who attend classes with you and encourage you to practice and discuss course concepts in sessions. Sessions are open to all students who want to improve their understanding of the material, as well as their grades. SI sessions will focus on the most recent material covered in class. The SI leader for this class is Garrett DeBruin <> You can contact the Student Success Center at (803) 777-0684 if you have questions about SI.

Class Website

You are responsible for checking the class website regularly. Announcements and assignments will be posted. The URL is: There is an RSS feed available there.


Java: An Introduction to Problem Solving and Programming (6th Edition).

Attendance Policy

You are expected to attend class regularly and keep up with the reading and assignments.


See our grading breakdown.

Honor Code

Cheating is defined as giving or receiving unauthorized aid on any assignment, test, or project, or not documenting an outside source of information should one be used. It is unacceptable and will not be tolerated. All offenses will be reported in accordance with the Carolina Community student handbook.

Academic sanctions are as follows. For the first offense, a student will receive a grade of 0 for the assignment. For the second offense, the student will receive a grade of F for the course.

No comments: