I&C SCI 31 Introduction to Programming (2013-2014)

I&C SCI 31 Introduction to Programming

(Required for CSE.)
Catalog Data:

I&C SCI 31 Introduction to Programming (Credit Units: 4) Introduction to fundamental concepts and techniques for writing software in a high-level programming language. Covers the syntax and semantics of data types, expressions, exceptions, control structures, input/output, methods, classes, and pragmatics of programming. Same as CSE 41. Only one course from I&C SCI 31, CSE 41, I&C SCI 21, CSE 21, I&C SCI H21, EECS 10, EECS 12, ENGR 10, ENGRMAE 10 may be taken for credit. (Design units: 0)

Required Textbook:
. Edition, , 1969, ISBN-13 978-0470618462.

Recommended Textbook:
David G. Kay and Richard Eric Pattis
Relationship to Student Outcomes
This course relates to Student Outcomes: CAC a, CAC b, CAC c, CAC i, CAC k, EAC k.
Course Learning Outcomes. Students will:

1. Write, test, and debug code within a development environment. (CAC a, CAC c, CAC i, EAC k)

2. Combine data types and organization schemes to model real-world information. (CAC a, CAC b, CAC c, CAC i, CAC k)

3. Implement algorithms within the constraints of a programming language's syntax and semantics. (CAC a, CAC c, CAC i)

4. Employ a programming language's abstraction mechanisms to reduce complexity and increase reliability of software. (CAC a, CAC c, CAC i, CAC k)

5. Follow a systematic methodology to produce solutions expeditiously and reduce the introduction of bugs. (CAC a, CAC c, CAC i, CAC k)

6. Predict the results that source code will produce when executed. (CAC a, CAC c)

7. Describe the practical limitations of software systems. (CAC a, CAC c)

8. Describe how programmin languages fit in the broader context of modern computing systems. (CAC a, CAC c)

Prerequisites by Topic


Lecture Topics:
  • Algorithmics: tokens, simple types, literals, names/variables, objects, expressions, exceptions, and control structures.
  • Abstraction: functions, compound types (strings, lists, sets, maps, ... classes), methods, modules.
  • Analysis: equivalence, pragmatics, aesthetics (style), correctness (testing/debugging), efficiency (big-O notation), and numerical accuracy.
Class Schedule:

Meets for 3 hours of lecture, 1 hour of discussion and 6 hours of laboratory each week for 10 weeks.

Computer Usage:
Laboratory Projects:
Professional Component
Design Content Description
Laboratory Portion:
Grading Criteria:
  • Quizzes: 20%
  • Programming Assignments: 30%
  • Midterm Written Exam: 10%
  • In-Class Programming Exams: 20%
  • Final Exam: 20%
  • Total: 100%
Estimated ABET Category Content:

Mathematics and Basic Science: 0.0 credit units

Computing: 4.0 credit units

Engineering Topics: 4.0 credit units

Engineering Science: 4.0 credit units

Engineering Design: 0.0 credit units

July 10, 2013
Senate Approved:
May 5, 2013
Approved Effective:
2013 Winter Qtr