CptS 121: Summer, 2019
Program Design & Development - Schedule

                                    

 

WSU IT Help Desk Info: http://cougtech.wsu.edu/

Language References: ANSI C Quick Reference     Library Guides: C Library Guide     Coding Standards: C Standard   

Installing Windows on Linux and OSX: .PDF

 

How to Ignore scanf_s () and printf _s () Warnings in Microsoft Visual Studio: .PDF

 

 

Week

Class

Date

Reading

Topic

Assignments

Due Dates

& Solutions

1

1

 May 6

 Ch. 0 - 1

 Syllabus, intro to course, computers, & computer science;

 

 

 check out this article on the future of computing jobs:

·         http://cacm.acm.org/blogs/blog-cacm/180053-computing-is-the-safe-stem-career-choice-today/fulltext

 1-1: Intro to algorithms, problem solving, computer software, & the software development

 method

 No lab this week!,

 

 Download MS VS

 Community 2015

 from Tech Store,

 If running Windows 7,  

 download Daemon

 Tools Lite, Download

   No Lab

 

2

 May 7

 Ch. 2.1 - 2.8  

 

 1-2: C language elements, variables, data types, executable statements & program forms,

 please visit the IT help desk in CUE 302 if you’re struggling w/ installing Visual Studio:

·         http://cougtech.wsu.edu/

 

 2-1: Arithmetic expressions, formatting numbers, & common programming errors,

 ASCII table:

·          http://www.asciitable.com/,

 

 

 Lab 1,

 Quiz 1 (take-home)

3

 May 8

 Ch. 2.5 - 2.8 

 

 Continue w/ L2-1 (Arithmetic expressions, formatting numbers,

 2-2: Functions I – building programs from existing functions, library functions, &

 top-down design w/ structure charts,

 Lab 2,

 Quiz 2 (take-home)

 Lab 2, Quiz 1 &

 Quiz 2 (by start of lab)

 

4

 May 9

 Ch. 3.1 - 3.6

 

 Continue w/ L3-1 Function I

 3-1: Functions II - functions, arguments, common programming errors,

 function call stack, & how to debug programs,

 PA 1

 

 

5

 May 10

 Ch. 3.4 - 3.6

 

Continue w/ L4-1 Functions II

 

 check out this site (click on the link “Learn C”):

·          http://www.tutorialspoint.com/

 check out these C tutorials:

·          http://www.mycplus.com/category/tutorials/c-programming-tutorials/

 3-2: Basic file processing w/ functions

 

 

2

6

 May 13

 Ch. 4.1 - 4.4

 

 Continue w/ L5-1 Basic file processing w/ functions,

 4-1: More file processing

 Lab 3,

 Quiz 3 (take-home)

 Lab 3,

 Quiz 3 (by start of lab)

 

7

 May 14

 Ch. 4.1 - 4.4

 

 Continue w/ L3-2, 4-1 (Basic file processing),

 4-2: Selection structures I – control structures, conditions, & if statements,

 

 PA 2

 PA 1

 

8

 May 15

 Ch. 4.5 - 4.9

 Ch. 5.1 - 5.5

 4-3: Selection structures II - problem solving w/ if statements & nested if statements,

 5-1: Selection structures III – switch statements & common programming errors.

 

 Lab 4, No Quiz!

 Lab 4, No Quiz!

 

9

 May 16

 

 Exam 1 Review Session

 PA 3

 

10

 May 17

 Ch. 5.1 - 5.5

 

 Continue 5-1 Selection structures II

 6-1: Loops I - repetition, while & for loops I, & loop patterns.

 

 

3

11

 May 20

 Ch. 5.6 - 5.12

 6-3: Loops III – applications w/ loops.

 Lab 5, No Quiz!

 PA 4

 Lab 5, No Quiz!

 PA 2

12

 May 21

 Ch. 6.1 - 6.8

 7-1: Pointers & modular programming I – pointers, indirection operator,

 output parameters, & scope of names, in-class pointers worked example on whiteboard!

 

 please consider solving problems found on the

 Project Euler website for more practice!

·          http://projecteuler.net/

 also checkout:

·          http://www.khanacademy.org/cs

·          http://codingforinterviews.com/practice

 7-2: Pointers & modular programming II - more pointers & pointer arithmetic,

 

 

 

13

 May 22

 

 Continue w/ L7-2 (Pointers & modular programming II)

 Lab 6

 

 PA 3

14

 May 23

 Ch. 7.1 - 7.3

 8-1: Arrays (Pointers) I – declaring arrays, subscripts, & loops w/ arrays,

 8-2: Arrays (Pointers) II - arrays and functions

 8-3: Arrays (Pointers) III – searching and sorting arrays

 

15

 May 24

 

 Midterm Exam

 PA 5

 

4

16

 May 27

 

 Holiday No Class.

 

 

17

 May 28

 Ch. 7.6 – 7.11

 

 Continue w/ L14 Arrays (Pointers) III

 9-1: Arrays IV (Pointers) – parallel & multidimensional arrays, in-class

 

 

 

 

 PA 4

 

18

 May 29

 Ch. 8.1 – 8.9

 9-2: Strings I - string basics, string library functions

 

 9-3: Strings II - character operations, arrays of pointers, string-to-number and

 number-to-string operations, & common errors, selection sort

 

 check out these logic problems:

·          http://www.folj.com/puzzles/

 Lab 7

 

19

 May 30

 

 Continue w/ L9-3 (Strings II - character operations, arrays of pointers,

 string-to-number and number-to-string operations & common errors),

 

 PA 6

 

 

20

 May 31

 Ch. 10.1, 10.2

 10-1: Structures I – declaration of structs & input/output function arguments,

 

 

 PA 5

5

21

 June 3

 Ch. 10.3, 10.4

 10-2: Structures II – problem solving w/ structs & functions w/ structures results (no PPT),

 

 11-1: Structures III – parallel arrays & arrays of structs,

 structs and Connect Four example

 Lab 8

 PA 7

 Lab 7

 

22

 June 4

 Ch. 9.1 - 9.3

 Continue w/ L11-1 (Structures III), in-class Connect Four

 12-1: Recursion I - recursion basics & mathematical functions

 

 check out this website:

·         https://www.hackerrank.com/

 PA 6

 

23

 June 5

 Ch. 9.4 – 9.7

 Appendix C-3,

 C-4

 12-2: Recursion II – recursive functions w/ array/string parameters &

 problem solving w/ recursion

 13-1: Bit operations - binary numbers basics, conversions, & operators

 Lab 9

  PA 8

 Lab 8

 

24

 June 6

 

 Continue w/ L23: 13-1: Bit operations

  in-class bit operations [code] –  shows <<, >>, &, |, ^, ~,

 13-2: Pointers, strings, and structs revisited again!

   Bonus

 assignment

 PA 7

 

25

 June 7

 

 Final Exam Review Session

 

 

6

26

 June 10

 Ch. 13.1, 13.2

 14-1: Dynamic data structures I – dynamic memory allocation, malloc ( ) & free ( )

 

 14-2: Dynamic data structures II – linked lists; we stepped through ideas on whiteboard

 Lab 10,

 Quiz 8 (take-home)

 

 

 

27

 June 11

 Ch. 13.4

 Continue w/ L26: Dynamic data structure II

 14-3: Linked list operators, make_node () & insert_at_front ();

 

 remember to check out this site for more tips about programming

 interviews:

·          http://codingforinterviews.com/practice

 

 

28

 June 12

 

 Continue w/ L 14-3 (Linked list operators) w/ insert_at_front () &

 print_list ()

 Lab Final!,

 No Quiz!

 Lab Final!,

 No Quiz!

 

29

 June 13

 Ch. 12.7

 Continue w/ L 14-3 (Linked list operators), in-class linked list w/ delete_at front ()

 & command line arguments

 

 15-1: Command line arguments – arguments to main (),

 Please remember to fill out your course evaluations!

 

 PA 8

30

June 14

 HK 1 – 10,

 12.7, 12.8,

 13.1 – 13.4

 --Final Exam—NOTE: Must attend the time slot for the lecture section you are registered for!

 

 Bonus Assignment –

 (via email to

 beiyu.lin@wsu.edu)

 by Friday, June 14

 


Copyright © Washington State University | Disclaimer