Course Syllabus

CSCE 1123 – Intro to Programming

Spring 2003

Description: / This is the introductory course to the art and discipline of programming. Lecture topics include programming tools and techniques, problem analysis and specification, and the design and test of programming solutions.
Prerequisite: / CSCE 1113 and 1111L: Introduction to Computers and the associated Lab
Co-requisite: / CSCE 1121L: Introduction to Programming Lab
Required Textbook: / Jeri R. Hanly and Elliot B. Koffman;
Problem Solving & Program Design in C, 3rd Edition, Adison-Wesley, 2002
Recommended References: / ·  Any C or C++ language reference book
·  Rex Jaeschke, The Dictionary of Standard C, Prentice-Hall, 2001
·  S. McConnell; Code Complete, Microsoft Press, 1993
Instructors: / Allen Baker
Office: Engineering Hall 332
Office Hours: Tues. 12:30 – 2:30 p.m., Thurs. 10:30 – 12:30 p.m.
Phone: 479-575-4573
Email:
Website: http://intra.engr.uark.edu/~baker
Gordon Beavers
Office: Engineering Hall 318
Office Hours: MWF, 8:30 – 9:30 a.m. and 2:30 – 3:30 p.m.
Phone: 575-6040
Email:
Website: http://csce.uark.edu/~beavers
Goals: / 1.  To learn basic programming techniques and constructs.
2.  To become proficient in the ANSI C programming language.
3.  To gain an appreciation of disciplined software development, including testing, debugging, and documentation.
Meeting Times: / MWF, 10:30 p.m. – 11:20 p.m.; Bell Engineering, Room 288
Homework: / Seven (7) programming assignments designed to exercise the student’s ability to apply the concepts and principles presented in the textbook and in class, and to extend and exercise the student’s programming skills. The lowest grade will be dropped.
Exams: / Three; each worth 150 pts, at approximately 5-week intervals.
Final worth 150 pts, during Finals week
Exams will be designed to test the student’s understanding of the concepts and principles presented in the textbook and in class as well as mastery of C code.


Lecture Topics:

1)  Overview of C

2)  Top-Down with Functions

3)  Selection Structures

4)  Repetition and Loop Statements

5)  Modular Programming

6)  Simple Data Types

7)  Arrays

8)  Strings

9)  Recursion

10)  Structure and Union Types

11)  Text and Binary File Processing

12)  Programming in the Large

13)  Dynamic Data Structures

14)  On to C++

Handouts / Downloads from the Instructor’s Web Site.

1)  Syllabus

2)  Schedule

3)  Grading Policy

4)  Homework Requirements

5)  Coding Style Guide

6)  Supplemental Reading and Reference Materials

7)  Homework Assignments


General ABET Outcomes:

1.  An ability to apply knowledge of mathematics, science, and engineering: Knowledge applied in software programming assignments

2.  An ability to design and conduct experiments, as well as analyze and interpret data: Not addressed

3.  An ability to design a system, component, or process to meet desired needs: Homework assignments are presented as functional requirements that must be met.

4.  An ability to function on multi-disciplinary teams: Not addressed

5.  An ability to identify, formulate, and solve engineering problems: Projects are designed to be solved with student-designed and developed software.

6.  An understanding of professional and ethical responsibility: Professional and ethical responsibility discussed in relation to software development.

7.  An ability to communicate effectively: Not addressed

8.  Have the broad education necessary to understand the impact of engineering solutions in a global and societal context: Broader impact of software development discussed in class.

9.  Recognition of the need for, and an ability to engage in life-long learning: Need for life-long learning associated with new software systems discussed in class.

10.  Knowledge of contemporary issues: In-class discussions of contemporary issues in software.

11.  An ability to use the techniques, skills, and modern engineering tools necessary for engineering practice: Students are required to use industry-standard software development tools for homework assignments.

ABET Program Outcomes for Electrical, Computer, and Similarly Named Programs

1.  Knowledge of Mathematics through differential and integral equations, discrete mathematics, and probability and statistics: Not addressed

2.  Knowledge of basic sciences: Not addressed..

3.  Knowledge of Engineering Sciences: Not addressed

4.  Knowledge of Computer Science: Students study and construct classic programming constructs in several programming languages to develop an appreciation for the discipline of programming.

Computer Engineering Outcomes

1.  Knowledge of Computer Organization and Architecture: Not addressed

2.  Knowledge of system software principles, particularly of modern operating systems: Not addressed

3.  A knowledge of the fundamental relationships between hardware and software components and the ability to exploit these relationships to design effective solutions to computer engineering problems: Not addressed

4.  An understanding of both hardware and software techniques sufficient to design, build, and test complex digital systems: Not addressed

Computer Science Outcomes

1.  A knowledge of computer organization: Not addressed

2.  The knowledge and skills required to design, develop, and produce high quality computer software: Students are required to use industry-standard tools to complete homework programming assignments. Software quality is discussed and demonstrated in class and is stressed in homework assignments.

3.  The knowledge and ability to abstract general principles such as capturing recurring patterns from concrete examples or data to apply inductive reasoning in formulating solutions to computational problems: Not addressed

4.  The knowledge of programming language design and implementation issues and key paradigms of modern programming languages: Not addressed

5.  A knowledge of system software principles, particularly of modern operating systems: Not addressed

CSCE 1123, Spring 2003 Course Syllabus Page 1 of 3