Course Number and Title: 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.
- Practice professional behaviors in response to ethical issues inherent in computing. (CCC 3, 4, PGC 1, 3)
- Employ algorithms for solving simple problems, and trace the execution of computer programs. (CCC 2, 6; PGC 1, 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)
- Analyze and apply the program development process to problems that are solved using fundamental programming constructs. (CCC 2, 6; PGC 1, 3)
- Decompose programming problems, and produce solutions using a series of linked modules. (CCC 2, 6; PGC 1, 3)
- Describe the language translation phases of edit, compile/interpret, link, and execute. (CCC 1; PGC 1, 3)
- 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.
Upon completion of this course, the student will:
- Practice professional behaviors in response to ethical issues inherent in computing.
- Identify ethical issues inherent in a programming assignment.
- Locate and apply professional standards bearing on a particular ethical issue.
- Write programs that are consistent with professional standards of conduct.
- Employ algorithms for solving simple problems, and trace the execution of computer programs.
- Explain and use algorithms to solve common computing tasks such as sorting.
- Create simple programs implementing common algorithms.
- Locate and employ libraries of algorithms.
- Compare and contrast the primitive data types of a programming language, describe how each is stored in memory, and identify the criteria for selection.
- Discuss the representation and use of primitive data types and built-in data structures.
- Select primitive data types appropriate to the solution of a programming problem.
- Analyze and apply the program development process to problems that are solved using fundamental programming constructs.
- Analyze a problem, and describe the data required to solve the problem.
- Prepare a brief description of the problem.
- Propose a data model.
- Illustrate the data definitions and problem description with examples.
- Create a set of instructions based on the analysis of a problem.
- Implement the instructions based on the analysis of a problem in code.
- Construct error handling and input validation for data used in the program.
- Create programs that manipulate data either interactively or through file I/O.
- Apply basic UI/UX practice to create user-friendly programs.
- Employ test data to test code.
- List the recommended steps in problem solving.
- Organize work in accordance with the program development process.
- Decompose programming problems, and produce solutions using a series of linked modules.
- Modify and expand short programs using control structures and functions.
- Explain the divide-and-conquer approach.
- Describe and explain parameter passing.
- Employ parameter passing in simple programs.
- Choose a programming style and apply best coding practices including internal documentation.
- Describe the language translation phases of edit, compile/interpret, link, and execute.
- Discuss the error conditions that may occur at each phase.
- Discuss techniques for handling error conditions occurring at each phase.
- Employ fundamental programming concepts in developing programs.
- Use simple Object-Oriented Programming concepts.
- Use recursion to solve simple programming tasks.
- Use techniques such as iteration, parameter passing, and propositional and predicate logic to solve simple programming assignments.
- Use pointers or reference variables to solve simple programming tasks.
- Employ data and procedural abstraction in solving simple programming assignments.
The grade will be determined using the Delaware Tech grading system:
Students should refer to the 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.
Calculated using the following weighted average
Percentage of final grade
Lecture Exams: 4 exams weighted at 8% each (summative)
Final Exam (summative)
Programming assignments: 7 are weighted at 6% each (summative)
Assessments are determined by the course instructor with a
percentage of 15% total (formative)
- Apply clear and effective communication skills.
- Use critical thinking to solve problems.
- Collaborate to achieve a common goal.
- Demonstrate professional and ethical conduct.
- Use information literacy for effective vocational and/or academic research.
- Apply quantitative reasoning and/or scientific inquiry to solve practical problems.
- Design and implement moderate to complex programs that meet specifications, perform reliably, and are maintainable using the principles of software engineering.
- Apply object oriented design principles to software analysis and programming.
- Analyze currently available operating systems and software development platforms to design and implement software applications that are effective and secure.
- Develop programs in assembly language that directly address the computer architecture.
- Develop technical documentation to meet end user requirements.
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. A listing of campus Disabilities Support Counselors and contact information can be found at the disabilities services web page or visit the campus Advising Center.