Computer Science and Engineering CSE 1284 Introduction to Computer Programming CREDITS/CONTACT HOURS: Credits: 4, Contact Hours: 90 COORDINATOR: Dr. T.J. Jankun-Kelly TEXTBOOKS: Barry & Griffiths, Head First Programming, O’Reilly Media, 2009. a. Supplemental Material: Online course material available from http://mycourses.msstate.edu/ SPECIFIC COURSE INFORMATION: a. Catalog Description: Three hours lecture Three hours laboratory. Introductory problem solving and computer programming using object-oriented techniques. Theoretical and practical aspects of programming and problem solving. Designed for CSE,CPE and SE majors. b. Prerequisites: MA 1313 or equivalent c. Required/Elective: Computer Science – Required Software Engineering – Required Computer Engineering – Required SPECIFIC GOALS OF THE COURSE: a. Specific Outcomes of Instruction: 1.To introduce principles and practice of software development using the object-oriented programming approach. 2.To introduce develop the problem solving skills necessary to develop software solutions to problems. 3.To develop knowledge of the data and control structures available in the object-oriented programming paradigm and their appropriate uses. b. Criterion 3 Outcomes: Note: Parenthesized list indicates the ABET EAC and CAC outcomes addressed by each performance criteria. 1. Demonstrate the ability to use flow control language constructs appropriately to solve a stated problem. (EAC: c, e; CAC:b,c) 2. Demonstrate the ability to use strings, lists, and dictionaries where appropriate to represent data. (EAC: c, e; CAC: b,c) 3. Demonstrate the ability to decompose problems into functions & modules for solution. (EAC: c, e; CAC: b, c) 4. Demonstrate the ability to pass information between functions & modules in a program appropriately. (EAC: c, e; CAC: b,c) 5. Demonstrate the ability to use standard built-in functions to perform simple tasks. (EAC: c, e; CAC: b,c,i ) 6. Demonstrate the ability to use appropriate basic graphical user interface objects to perform simple tasks. (EAC: c,e,k; CAC: b,c,i) TOPICS COVERED: Lecture (Number of class hrs) 1. Introduction to the course 1 2. Creating and running a program, computer architecture 3 3. Program design and problem solving 2 4. Data types and operators 3 5. Input/output, formatting 3 6. Control flow and loops 3 7. Strings 1 a)String methods b)String manipulation 8. Modules and libraries 2 9. Functions and program structure 6 a)Interactions b)Scope 10. Lists 4 a)One dimensional lists b)Search, sorting, other list methods c)Multiple dimension lists 11. Dictionaries 3 12. Graphical user interfaces 3 a)GUI Widgets b)Event handling, function callbacks 13. Exceptions 2 14. Classes, objects, and methods 6 15. Exams 3 Laboratory (Number of lab weeks) 1.Lab orientation; basic problem solving; submission process and grading. 1 2.Basic program structure; familiarization with use of editors, compilers, and debuggers 1 3.Using data types, arithmetic operators, and simple input/output, selection and repetition 1 4.Strings 2 5.Using functions for program structure 2 6.Using lists 2 7.Manipulating files 2 8.Using dictionaries 9.String formatting 10.Creating UIs 2 1 1