This exam prep document contains 100+ verified questions and answers from the CIS2750 Midterm Exam at the University of Guelph, updated for the 2025 academic year. It is designed to reinforce core programming concepts and systems development techniques covered in this upper-level computer science course. The document follows the actual exam structure and includes both theoretical and practical questions across multiple languages and tools.
Topics include:
C programming fundamentals: makefile flags (-o, -Wall, -pedantic, -std=c99), linking, compiling, shared libraries, object files
Makefile mechanics: targets, dependencies, clean rules, exporting paths
Python programming: syntax, lists, dictionaries, tuples, OOP principles (inheritance, __init__, special methods), dynamic typing, memory management
Scripting and system interaction: interpreter behavior, module importing, shebang lines, mutability, namespaces
SQL and databases: SELECT statements, primary and foreign keys, composite keys, SQL operations (insert, update, delete), table design, string literals
Web technologies & networking: protocol stack (IP, TCP, UDP, HTTP), r, HTTPS differences, SVGs
Advanced concepts: function pointers, comparison functions, casting in C, sniffer tools, extending languages
This document is highly suitable for midterm preparation and concept reinforcement for systems development and software engineering students.
Best suited for:
CIS2750 students at the University of Guelph
Computer science undergraduates focusing on software systems
Learners in intermediate-to-advanced programming courses
Students reviewing C, Python, Makefiles, and SQL for technical interviews or projects
Relevant for course types:
CIS2750 – Software Systems Development
Intermediate C and Python Programming
Operating Systems and Toolchains
Database Systems & Web Protocols
Keywords:
CIS2750 midterm, University of Guelph, makefile flags, shared libraries, C programming, Python OOP, Python modules, scripting languages, SQL commands, database design, protocol stack, HTTP server, https vs http, object-oriented Python, comparison functions, dynamic typing
Content preview
CIS2750 Midterm Exam Questions and
Answers (Verified Answers) (Latest
Update 2025) UPDATE!!
-o, -Wall, -pedantic, -std=c99 in makefiles what do each of these do - 🧠
ANSWER ✔✔-o: names the executable/output file
-Wall: activates all warnings
-pedantic: really picking with warnings
-std=c99: uses c99 standard for compiling
-E in makefile - 🧠 ANSWER ✔✔processor translates directives into more c
code, inserts all code from stdio.h
-c in makefile - 🧠 ANSWER ✔✔compiler converts c code into object code
, makefile linker - 🧠 ANSWER ✔✔connects object code to standard or non
standard libraries
how to link and create libraries in makefile - 🧠 ANSWER ✔✔link library -
l(name of library)
-L. provides path to library that isn't in defaults
-fPIC in makefile - 🧠 ANSWER ✔✔creates position independent code,
doesn't assume where in memory your code will be
-shared in makefile - 🧠 ANSWER ✔✔creates a shared library
.so
what does export LD_LIBRARY_PATH='pwd' do - 🧠 ANSWER ✔✔tells os
where the .so file is at runtime
advantages of making - 🧠 ANSWER ✔✔makes repeated compilation easier
all in makefile - 🧠 ANSWER ✔✔lists everything you want the make
command to create by default
clean in makefile - 🧠 ANSWER ✔✔deletes intermediate files
make file rule format - 🧠 ANSWER ✔✔target: dependencies