CSC 114 Computer Science I

This course introduces the fundamental concepts of programming. Topics include data types, control structures, functions, arrays, file I/O, and the mechanics of running, testing, debugging, and documenting programs. Additionally, the concepts recursion, reference variables, and Object-Oriented Programming are introduced. Students employ fundamental concepts to create and assess simple programs.

Credits

4

Prerequisite

Prerequisite: Test score or MAT 099 or concurrent

See Course Syllabus

Course Number and Title:

CSC 114 Computer Science I

Campus Location

  • Dover
  • Georgetown
  • Wilmington

Effective Date

2022-51

Prerequisites

Prerequisite: Test score or MAT 099 or concurrent

Course Credits and Hours

4 credit(s)

3 lecture hours/week

2 lab hours/week

Course Description

This course introduces the fundamental concepts of programming. Topics include data types, control structures, functions, arrays, file I/O, and the mechanics of running, testing, debugging, and documenting programs. Additionally, the concepts recursion, reference variables, and Object-Oriented Programming are introduced. Students employ fundamental concepts to create and assess simple programs.

Additional Materials

None

Required Text(s)

Obtain current textbook information by viewing the campus bookstore - https://www.dtcc.edu/bookstores online or visit a campus bookstore. Check your course schedule for the course number and section.

Disclaimer

None

Core Course Performance Objectives (CCPOs)

  1. Practice professional behaviors in response to ethical issues inherent in computing. (CCC 3, 4, PGC 1, 3)
  2. Employ algorithms for solving simple problems, and trace the execution of computer programs. (CCC 2, 6; PGC 1, 3)
  3. Compare and contrast the primitive data types of a programming language, describe how each is stored in memory, and identify the criteria for selection. (CCC 2, 6; PGC 1, 3)
  4. Analyze and apply the program development process to problems that are solved using fundamental programming constructs. (CCC 2, 6; PGC 1, 3)
  5. Decompose programming problems, and produce solutions using a series of linked modules. (CCC 2, 6; PGC 1, 3)
  6. Describe the language translation phases of edit, compile/interpret, link, and execute. (CCC 1; PGC 1, 3)
  7. Employ fundamental programming concepts in developing programs. (CCC 2, 6; PGC 1, 3, 5)

See Core Curriculum Competencies and Program Graduate Competencies at the end of the syllabus. CCPOs are linked to every competency they develop.

Measurable Performance Objectives (MPOs)

Upon completion of this course, the student will:

  1. Practice professional behaviors in response to ethical issues inherent in computing.
    1. Identify ethical issues inherent in a programming assignment.
    2. Locate and apply professional standards bearing on a particular ethical issue.
    3. Write programs that are consistent with professional standards of conduct.
  2. Employ algorithms for solving simple problems, and trace the execution of computer programs.
    1. Explain and use algorithms to solve common computing tasks such as sorting.
    2. Create simple programs implementing common algorithms.
    3. Locate and employ libraries of algorithms.
  3. Compare and contrast the primitive data types of a programming language, describe how each is stored in memory, and identify the criteria for selection.
    1. Discuss the representation and use of primitive data types and built-in data structures.
    2. Select primitive data types appropriate to the solution of a programming problem.
  4. Analyze and apply the program development process to problems that are solved using fundamental programming constructs.
    1. Analyze a problem, and describe the data required to solve the problem.
    2. Prepare a brief description of the problem.
    3. Propose a data model.
    4. Illustrate the data definitions and problem description with examples.
    5. Create a set of instructions based on the analysis of a problem.
    6. Implement the instructions based on the analysis of a problem in code.
    7. Construct error handling and input validation for data used in the program.
    8. Create programs that manipulate data either interactively or through file I/O.
    9. Apply basic UI/UX practice to create user-friendly programs.
    10. Employ test data to test code.
    11. List the recommended steps in problem solving.
    12. Organize work in accordance with the program development process.
  5. Decompose programming problems, and produce solutions using a series of linked modules.
    1. Modify and expand short programs using control structures and functions.
    2. Explain the divide-and-conquer approach.
    3. Describe and explain parameter passing.
    4. Employ parameter passing in simple programs.
    5. Choose a programming style and apply best coding practices including internal documentation.
  6. Describe the language translation phases of edit, compile/interpret, link, and execute.
    1. Discuss the error conditions that may occur at each phase.
    2. Discuss techniques for handling error conditions occurring at each phase.
  7. Employ fundamental programming concepts in developing programs.
    1. Use simple Object-Oriented Programming concepts.
    2. Use recursion to solve simple programming tasks.
    3. Use techniques such as iteration, parameter passing, and propositional and predicate logic to solve simple programming assignments.
    4. Use pointers or reference variables to solve simple programming tasks.
    5. Employ data and procedural abstraction in solving simple programming assignments.

Evaluation Criteria/Policies

The grade will be determined using the Delaware Tech grading system:

90-100 = A
80-89 = B
70-79 = C
0-69 = F
Students should refer to the Catalog/Student Handbook for information on the Academic Standing Policy, the Academic Integrity Policy, Student Rights and Responsibilities, and other policies relevant to their academic progress.

Final Course Grade

Calculated using the following weighted average

Evaluation Measure

Percentage of final grade

Lecture Exams: 4 exams weighted at 8% each (summative)

32%

Final Exam  (summative)

11%

  Programming assignments: 7  are weighted at 6% each (summative)

42%

Assessments are determined by the course instructor  with a

percentage of 15% total (formative)

15%

TOTAL

100%

Program Graduate Competencies (PGCs are the competencies every graduate will develop specific to his or her major)

  1. Design and implement moderate to complex programs that meet specifications, perform reliably, and are maintainable using the principles of software engineering.
  2. Apply object oriented design principles to software analysis and programming.
  3. Analyze currently available operating systems and software development platforms to design and implement software applications that are effective and secure.
  4. Develop programs in assembly language that directly address the computer architecture.
  5. Develop technical documentation to meet end user requirements.

Core Curriculum Competencies (CCCs are the competencies every graduate will develop)

  1. Apply clear and effective communication skills.
  2. Use critical thinking to solve problems.
  3. Collaborate to achieve a common goal.
  4. Demonstrate professional and ethical conduct.
  5. Use information literacy for effective vocational and/or academic research.
  6. Apply quantitative reasoning and/or scientific inquiry to solve practical problems.

Students in Need of Accommodations Due to a Disability

We value all individuals and provide an inclusive environment that fosters equity and student success. The College is committed to providing reasonable accommodations for students with disabilities. Students are encouraged to schedule an appointment with the campus Disabilities Support Counselor to request an accommodation needed due to a disability. The College's policy on accommodations for persons with disabilities can be found in the College's Guide to Requesting Academic Accommodations and/or Auxiliary Aids Students may also access the Guide and contact information for Disabilities Support Counselors through the Student Resources web page under Disabilities Support Services, or visit the campus Advising Center.

Minimum Technology Requirements

Minimum technology requirements for online, hybrid, video conferencing and web conferencing courses.