course_info:cis_2750
This is an old revision of the document!
Include a brief summary of the course topics and requirements, the general format of the course, and the methods of evaluation.
Skills and knowledge students should have prior to beginning the course:
- CIS*2430: Even though the bulk of assignment programming is in (procedural) C, the GUI toolkit is object-oriented, and Python can be used in OO fashion.
- CIS*2520: A great deal of data manipulation is done using C strings, arrays, arrays of arrays, structs, arrays of structs, structs with array elements, and pointers.
- Ability to plan and schedule your work: The assignments are intentionally too large and complex to be successfully completed at the last minute. The main reason students fail this course is because they don't take the several learning curves and the programming effort seriously, and wait till too late to start the assignments, or they don't keep doing sufficient incremental work. Because the assignments build up in layers, it is hard to recover from getting a late start on A1.
Course Topics:
- Advanced Programming Concepts
- Programming style
- Advanced programming concepts in C
- libraries, identifying and debugging errors, profiling and optimization, advanced I/O operations (file and record I/O)
- Graphical user interface (GUI) design
- Software Tools
- Scripting languages: Python, Perl, shell (bash)
- GUI toolkit: Tkinter
- Regular expressions
- Lex and YACC
- XML
- An Introduction to the Use of Databases
- SQL and MySQL
- Software Development as a Profession
- Standards
- Software life cycle
- Intellectual property and free software
Course Format:
- Lecture format: YES
- Online materials location and format: CourseLink and instructor's website
- Lab or tutorial format and expectations: Weekly lab sessions conducted by TAs
- reinforce concepts covered in lectures
- teach additional skills needed for assignments
- provide help with assignments
Method of evaluation:
- Number of Assignments: 4 (each building on the previous) plus tiny “A0” to exercise assignment submission protocol
- A1 and A2 are coded in C, and are tested with an automated marking program at the function level
- A3 and A4 are coded in Python 3, with the Tkinter GUI toolkit
- Number of Graded Labs: none
- Number of Quizzes: none
- Formal Midterm: TWO
- Course project: no
- Final Exam: YES
- Group work: not permitted
- Mostly programming assignments: YES
- Written documents: only a software structure chart in conjunction with A3
- Clickers: optional, worth up to 10% of course grade if it helps you, but you can still achieve 100% without clicking
course_info/cis_2750.1423865782.txt.gz · Last modified: 2015/02/13 22:16 by wgardner