Computer Science Department

cs.salemstate.edu

 

                                                                                                      SYLLABUS                                                                                     Fall 2009

 

CSC 200A Survey of Computer Science I                                                                                                                                   3 cr. [DII]

Prerequisite(s): Fulfillment of the Basic Mathematics Competency Based Skills requirement and ability to use standard computer software (e.g., operating system features, word processing, email, and web browsers).

 

Instructor:       Beifang Yi                                             Office: MH 208D                              Phone: (978) 542-7426

email:              byi@salemstate.edu                            Hours: TWR 12:30-3:00pm            Web Site: http://cs.salemstate.edu/~b_yi/

 

 

Section

 

Time

 

Room

 

Final Exam

 

02

 

WF 11:00am-12:15pm

 

MH 206

Dec 16, Wednesday, 8:00am—10:00am, MH 206

 

 

Catalog description: 

                This course provides an overview of fundamental areas within the field of Computer Science, introducing basic vocabulary, central concepts, and typical applications. The areas surveyed include computer hardware, computer arithmetic, operating systems, programming constructs, programming languages, information storage and retrieval, databases, networking, and the social context of computing. Three lecture hours per week.   This course satisfies the Computer Literacy Competency-Based Skills requirement.

 

Course Goals:

The aims of this course are to help the student gain an appreciation for the breadth and variety within the computer science field and to be better prepared for the technical treatments presented in later courses. Upon completion of the course, a student should be able to do the following:

 

·    CG1: to acquaint the student with many of the major topics within academic computer science;

·    CG2: to provide a standard descriptive vocabulary for these topic areas;  

·    CG3: to provide a survey of the most important concepts in each topic area.

 

Course Objectives:

 Upon successful completion of the course, a student will have:

 

·    CO1: use correct technical terminology to name and describe the principal hardware and software components of a computer system;

·    CO2: understand the conversion of text and numeric data between "human readable" form and binary form;

·    CO3: understand and explain the instruction cycle ("fetch/execute cycle") and its role in the operation of a computer system;

·    CO4:  use correct terminology to describe the various measurements of capacity and speed relating to a computer system;

·    CO5:  name and understand the principal classifications of files and software, and the differences and distinctions among them;

·    CO6:  name and explain the four principal programming paradigms;

·     CO7: understand the basics of computer networks;

·     CO8: name the principal functional components of an operating system and describe the main responsibilities of each one;

·    CO9:  give a general description of such topic areas as database systems and artificial intelligence;

·     CO10: give a general description of such topics as software piracy, liability, privacy concerns, and computer security, and current thinking and controversies in each area.

 

 

Course Topics:

      The department-standard list of topics and a general course bibliography can be found on the Computer Science Department website (at http://cs.salemstate.edu/dept/index.php?page=184). The topics include:

 

  introduction:                                                                                                                                                                                           

°        history of computing (survey)                                                                                                                                                      

°        operational definition of a computer

°         fundamental computer capabilities (read/write, load/store, compute, compare)

°        components of a typical computer

  the role of the computer                                                                                                                                                                       

°        as a communication tool                                                                                     

°         as an information resource

°        as a problem-solving tool

°        as a real-time control mechanism

  introduction to computer hardware                                                                                                     

°        introduction to logic gates and circuits

°        CPU structure

°        main memory structure

°        secondary storage devices (disk, tape)

°        I/O devices and their operation

°        multiprocessor systems

  communicating with a computer                                                                                                                                                                        

°        binary, octal, and hexadecimal numeration systems                                                                                                               

°        machine representation of numbers                                                                                                                                            

­  integers                 

­  2's complement representation of signed integers

°        binary arithmetic                                                                                                                                                                             

°        files (text vs. binary, sequential vs. direct)                                                                                                                                  

°        organization of text data (items, fields, records, files)                                                            

°        coding of text (ASCII, Unicode, etc.)                                                                                                                                          

°        markup languages, hypertext                                                                                                                             

°        markup languages, hypertext systems                                                                                                                                        

°        machine languages                                                                                                                                                                         

­  memory addresses

­  program counter, instruction register

­  the instruction cycle

­  instruction set, operation codes

°        assembly languages                                                                                                                                                                        

°        high-level programming languages                                                                                            

­  language translation: assemblers, compilers, interpreters

°        programming paradigms                                                                                                                                                                

­  procedural, declarative, functional, object-oriented

°        programming languages, past and present                                                                                                                                 

  problem-solving, program design and programming 

°        data types, variables, constants                                                                                                                                                   

°        control structures                                                                                                                                                                             

°        modules                                                                                                                                                                                             

°        problem analysis                                                                                                                                                                             

°        requirements and specifications                                                                                                                                                   

°        solution design                                                                                                                                                                                 

°        algorithms                                                                                                                                                                                         

°        software development lifecycle                                                                                                  

°        the human dimension of software: clarity & convenience of use (user-friendliness)                                                         

  information storage and retrieval

°        goals

°        conceptual vs. physical organization of data                                                                                                                            

°        data structures                                                                                                                                                                                    

°        databases, database systems, and database management software                                                                                   

  operating systems                                                                                                             

°        the purposes of an operating system

°        resource management

°        scheduling

°        virtual memory

  networks                                                                                                                            

°        bus networks

°        ring networks

°        the client/server model

°        Internet 

°        browsers

°        introduction to network protocols

°        network security concepts

  the social context of computing                              

°        appropriate vs. inappropriate uses of a computer

°        computer crime

°        software as intellectual property (copyrights, licensing, piracy, open source)

°        software errors and liability

°        codes of ethics for computer users and professionals

°        privacy and civil liberties issues

 

Text(s):  (required) Computer Science Illuminated, 3rd edition. Nell Dale & John Lewis. Jones and Bartlett, 2007. (ISBN 0-7637-4149-3)

 

Additional references:

·         http://csilluminated.jbpub.com

·         Concepts in Computing, by Kenneth Hoganson (2008). Jones and Bartlett Publishers.

·         The Architecture of Computer Hardware and Systems Software: An Information Technology Approach, 3rd Edition, by Irv Englander (2003), Wiley.

 

Cell phones:

      Turn the ringer off, or, better yet, turn the phone off.

 

Class Attendance:

        Class policy is that of the Registrar's office.  Aside from college regulations, much of the material covered in class is not found (in the same form) in the text, so class attendance and notes are very important. Note that you are at all times responsible for materials, handouts and assignments discussed in class: if you miss a class, try to get lecture notes from a classmate and review them before the next lecture, and check your email and visit the course website (through the instructor’s homepage) for any notes and/or announcements about the course progress.

        No excuses of any nature will be construed as relieving you from the responsibility for completion of the work assigned. Each student is responsible for completing all course requirements and for keeping up with all that goes on in the course (whether or not the student is present).

 

Final Grade:  

      Final grade will be determined using the following grading weights:

 

Assignments

60%

Midterm examination

15%

Final examination

25%

 

     Attendance is not used to calculate the final grade: however, note that you are at all times responsible for assignments and materials presented in class.

 

Submission Deadlines / Late Penalties:

      There are specific due dates/times for any assignments and these assignments should be completed by the deadlines. A penalty of 6% will be applied for late submission for each day (including weekends and holidays). The assignments will be announced / given in class and/or through course website.

 

Exams/Quizzes:

      There will be a midterm that is worth 15% of the final grade, and a comprehensive final examination that is worth 25 % of the final grade. The midterm will be held in week 8 depending on class progress. The final exam will be on December 16, Wednesday, 8:00am—10:00am, in MH 206. Note: Make-ups are given for missed examinations only under exceptional and documented circumstances.

 

Missed Tests:

      Missed tests will be made up only under extreme conditions/emergency with the proper documentation. Students who know in advance that they must be absent on an exam day for an excusable reason should notify the instructor prior to the exam day. Students who are absent on the day of the exam for an excusable reason should contact the instructor immediately following their absence. Makeup work will be permitted only when the instructor is presented with acceptable documentation for acceptable absences. It is your responsibility to notify your instructor of any excused absence as far in advance as possible.

 

Homework Assignments:

      There will be a series of assignments from the textbooks and other sources.  Reading assignments will be a part of the assignments. All assignments are due at the beginning of class on the dates to be set by the instructor. A 6% penalty will be imposed for each day (including weekends and holidays) an assignment submission is late.

      One assignment with the lowest grade will be dropped from the final grading.

      Please note that these assignments constitute 60% of the final grade.

 

Study Groups:

      While I strongly encourage study groups, I require that each student hand in his/her answers in her/his own words ‑ if two answers are exactly same or highly similar to each other, neither will receive credit. 

 

Academic Integrity:

      Academic Integrity Policy and Regulations can be found in the College Catalog and on the College's website (http://www.salemstate.edu/content_images/academic_integrity_regulations_2007(1).pdf). The formal regulations are extensive and detailed - familiarize yourself with them if you have not previously done so. A concise summary of and direct quote from the regulations: "Materials (written or otherwise) submitted to fulfill academic requirements must represent a student's own efforts". Submission of other's work as one's own without proper attribution is in direct violation of the College's Policy and will be dealt with according to the College's formal Procedures.

 

"Salem State College is committed to providing equal access to the educational experience for all students in compliance with Section 504 of The Rehabilitation Act and The Americans with Disabilities Act and to providing all reasonable academic accommodations, aids and adjustments. Any student who has a documented disability requiring an accommodation, aid or adjustment should speak with the instructor immediately. Students with Disabilities who have not previously done so should provide documentation to and schedule an appointment with the Office for Students with Disabilities and obtain appropriate services."

 

 

Please remember that if, for any reason, you decide to drop this course, you MUST do so officially through the Registrar's office. The last day to withdraw from a course this semester is November 20th.

 

 

Note: This syllabus represents the intended structure of the course for the semester. If changes are necessary, students will be notified in writing and via all regular class communication mechanisms (class discussion, emails, and/or the instructor’s website at http://cs.salemstate.edu/~b_yi/.).