COSC 112: Computer Science I

Fall Semester 2009 Course Information
Instructor:
Dr. Sharad Sharma

Department of Computer Science

Bowie State University

E-MAIL: ssharma@bowiestate.edu

CLASS HOURS: Monday & Wedesday: 4:55– 7:30 PM CSB 309
OFFICE HOURS: Monday 1:55 – 4:55 PM or by appointment
OFFICE LOCATION: Computer Science Building, Room 317


Required Text:    D.S. Malik, C++ Programming  From Problem Analysis to Program Design Course Technology , Fourth Edition, ISBN 1-4239-0209-2
                                   


COURSE DESCRIPTION –The study of the formal syntax and semantics of a programming language.  Topics include expressions, assignments, declarations, control structures, arrays, data abstractions, subprograms, user interfaces, error handling, end of file handling, string handling.  Aspects of Software Engineering include top down design, structured programming, and style in programming conducted in a block structured language, such as Pascal, C, or C++.  Ethical and social issues include information privacy, data reliability, data security, including wiretapping and encryption, and ergonomics.  This course may be used to satisfy the General Education Requirement in the Technology category.
Emerging Issues:
This course will take a look at how human activities affect the environment and how technology has taken a role in green information technology.


General Education Competencies:

I. Written and Oral Communications

a. Analyze and discuss critical issues and recurring themes in the discipline
b. Conduct research and evaluate information using the appropriate methods of the discipline.

II. Scientific and Quantitative Reasoning:

a. Analyze and understand the physical and biological world

III. Critical Analysis and Reasoning:

a. Apply skill in analysis, synthesis and problem solving
b. Apply logical reasoning in the examination and resolution of tasks

IV. Technological Competency:

a. Create a document using word processing software
c. Construct a presentation using presentation software
d. Manipulate large amounts of data

V. Information Literacy:

a. Identification of key concepts and terms that describe the information needed


COURSE OBJECTIVES - Upon completion of this course, the student will be able to:


Expected Student Competencies:
Students will be required to complete:

Specific Student Requirements:
Students are expected to maintain regular attendance at class and examination periods. Active, regular participation is essential for success in this class. Introductory material must be well known in order to grasp the topics that follow. If a student misses a test (with an excused absence), it is the responsibility of the student to make arrangements with the instructor for the make-up exam within 1 week of the original examination date.

Students are expected to adhere to the high standards of the Bowie State University Code of Student Conduct.


Assignments:
1.         Lab & Homework Assignments : 
-           Solve assigned problems from the text or elsewhere
-           Study assigned chapters of the text and work through relevant examples.
-           Laboratory Portfolio: Compile the printouts of programs and homework in an organized loose-leaf notebook or folder.  Highlight interesting problems and their resolution. Practice writing explanations using the terminology of the course.
                                                        
2.         Tests:
-          Problems are based on homework assignments, text book readings and class discussions; at least one problem will require writing a complete program. Tests are handwritten, and completed in class.
 
3.         Programming Assignments:
-        Programs are to be sent (use Blackboard drop box or email) to the instructor prior to the time of class.  Any program received after the time of the class is considered late (NO EXCUSES) and will receive a reduced score.

4.         Tutoring:
-        Once a week, attend a tutoring session, for math and/or computing.
-        Maintain the tutoring log sheet, and keep it in the Laboratory Portfolio.
-        Show the log to your instructor as required.

 


Course Grade Derivation

Lab & Homework Assignments                            10 %
Programming Assignments  (5-7)                         15 %
Mandatory Tutoring & Attendance                         5  %
3 Tests                                                                      45 %      
Final Exam                                                               25

 


Class Layout

Week 1                                  Chapter 1
Week 2                                  Chapter 2
Week 3 & 4                           Chapter 3

     TEST #1 ON CHAPTERS 1, 2 AND 3

Week 5 & 6                           Chapter 4
Week 7                                  Chapter 5
Week 8 & 9                           Chapter 6

     TEST #2 ON CHAPTERS 4, 5, & 6

Week 10 & 11                      Chapter 7
Week 12                                Chapter 8
    TEST #3 ON CHAPTERS 7 & 8

Weeks 13 & 14                    Chapter 9

FINAL EXAM                   

 


Course Related Links

* Syllabus
* Coding Style
* Assignments


 


USEFUL LINKS

  1. Visual Studio 2008 Express Editions Tutorial

  2. Running Visual C++ 2008 Express Edition for the First Time

  3. Compiling a Sample Application "Hello World"

  4. C++ Namespaces

  5. Namespaces

  6. cccfiles.zip (Graphics Libraries)

  7. Virtual Functions

  8. Virtual Functions

  9. Polymorphism

  10. Introduction to Polymorphism in C++