CS101 Homework 4: Social Network

Size: px
Start display at page:

Download "CS101 Homework 4: Social Network"

Transcription

1 CS101 Homework 4: Social Network Prof Tejada Program and report due: 11:59pm Wednesday, March 13 Design document due: 11:59pm Wednesday, March 6 1 Introduction For this assignment create user accounts for a social network to keep track of each user s information, such as year at USC, as well as a network of friends. The user account information is stored in a database file. The database file contains information about individual users. The network file contains information about which users are friends with each other. Friendship is a bi- directional relationship. This means that if user A is a friend of user B, then user B must also be a friend of user A. The database file must conform to the database file format specification. The default database filename is "db.txt" in the same directory as your program. The default network filename is network.txt. When your program starts, it must read the default database file and the network file to get all the information and store them in data structures. You must use a C++ record(struct) to represent a single user. You will need an array of users to hold the user database information. Create a 2 dimensional array of pointers to users, which will hold the friendship network between users. Your program will give the user the option to display all the user information in a table, including each user s friend connections. It will also allow you to alter the social network by adding/deleting users and adding/deleting friend connections.

2 2 What you will learn 1. Create your own C++ records and objects 2. Use File I/O to read/write text files containing structured data (records) 3. Use pointers and arrays 4. Understand the abstract representation of graphs (vertices/nodes=users, edges=friend connections) 3 Background Information and es Graph Representation: A graph is an abstract representation of the connections between objects. Each object (known as a node or vertex) is connected to others via edges. Visually, graphs are quite intuitive (see graph above). Here we see eight users (nodes or vertices) and the friend connections (edges) between them. Many interesting problems in computer science can be represented as graphs and algorithms defined to extract interesting information from the connections within the graph. For our purposes we will create a record to represent a single User which contains information about each user (name, etc.) and an two dimensional array of User pointers to represent the edge connections (friend relationships) for the user. e: In our system edges are undirected meaning friend connections are reflexive (i.e. if I m a friend with you, you are a friend with me). Other problems using graphs may require directed edges (i.e. non- reflexive relationships). Thus, when you add a friend connection from user1 to user2, be sure to add the connection from user2 to user1. The Database File Format: This program requires you to use File I/O techniques to read and write the user database from and to a file. Whenever we write a file containing structured data we need to define a file format (syntax) so we understand how to parse the file. We will represent all information as text and use the format specified below.

3 1: single number representing how many users are in the network 2: USC username 3: user first name 4: user last name 5: favorite TV show n-3: USC username n-2: user first name n-1: user last name n: favorite TV show An example db.txt file is shown below with 3 users. 3 stejada Professor Tejada Game of Thrones kshahabi TA Kaveh Supernatural jtanedo TA Jeff Doctor Who The Network File Format: We will represent all information as text and use the format specified below. 1: single number representing how many users are in the network 2: list of USC username for each friend of user1 separated by a space 3: list of USC username for each friend of user2 separated by a space 4: list of USC username for each friend of user3 separated by a space n-3: list of USC username for each friend of user n- 4 separated by a space n-2: list of USC username for each friend of user n- 3 separated by a space n-1: list of USC username for each friend of user n- 2 separated by a space n: list of USC username for each friend of user n- 1 separated by a space An example network.txt file is shown below with 3 users, where Professor Tejada is friends with both TA Kaveh and TA Jeff, but they are not friends with each other. 3 kshahabi jtanedo stejada stejada

4 The social network will be represented as a two dimensional array of User pointers. For example given the previous example db.txt and network.txt the network would be represented as a matrix: Username stejada kshahabi jtanedo stejada NULL Pointer to kshahabi Pointer to jtanedo kshahabi Pointer to stejada NULL NULL jtanedo Pointer to stejada NULL NULL 4 Design Document Write down electronically or on paper the answer to the following questions BEFORE beginning. You MUST do this BEFORE you begin to program or write code. Write a description of your algorithm. What are the individual steps? What are your functions? What are the input parameters of each function? What data needs to be maintained for each user? For all users? For the network of friends? What type of user input do you need? How will your program use this input to decide what statement to execute next? What data needs to be maintained for the total execution of your program (i.e. across several add/delete/display users)? What type? What kind of loops should then be used? What is your development plan? In what order will you implement and test your program? What is your development schedule? When will each stage of your program be completed? What is the algorithm and data structure you would create to represent your own study group of users in addition to and separate from the friend network? Blackboard submission (Due Wednesday March 6, 11:59pm) o Zip your Design Document and submit the zipped file to Blackboard. 5 Requirements Your program shall meet the following requirements for features and approach: 1. You may NOT use global variables. You instead need to pass appropriate arguments either by value or by reference. 2. Display a menu screen (several lines of text) of instructions (how to decode/encode). 3. Prompt the user to enter an action to perform. 4. Receive input from the user 5. Perform the action (add/delete/display user, add/delete friend connection, display friend s information) 6. Display status or results of action.

5 7. Use a record(struct) to represent a single user 8. Use an array of user records to hold all user database information 9. Create a two dimensional array of pointers to user for holding the friend connections. 10. Use functions in the program code implementation. 11. You must use well- formatted I/O (cout I/O manipulators) where appropriate. [If your program outputs messy looking output, points may be deducted.] 12. Use file I/O to read/write database file and network file 13. Allow the user to repeat the add/delete display process 14. Exit upon user choice where appropriate 6 Procedure 1. Define a record/struct to model a User. It should contain: a. A USC username b. A user first name c. A user last name d. A user s favorite TV show 2. Define a Database array of User. It should contain a list of at most 100 Users 3. Define a Network two dimensional array of User pointers. It should contain at most 100x100 friend connections. 4. Write a main program (social_network.cpp) that will create a Database of Users and then read Users data from a text file. It will create a Network array and then read the friend connections from a text file. The program should then loop through the progression of displaying a menu of options, accepting the user input, and processing the option. Your program should support the following operations: a. An add_user function to add a User to the database. b. A delete_user function to delete a User to the database. c. A display_user function to print out a User record to the screen d. A display_all function to print out all User record to the screen in a well formatted table.

6 e. A read_users function that initializes the User info from a file. f. A write_users function that writes the User info to a file g. An add_friend function given two usernames of users to add as friends h. A delete_friend function given two usernames of users to delete as friends i. A write_friends function that writes friend connections to a file. j. A read_friends function that reads friend connections from a file. k. A display_friends function given a username will print out all friends records to the screen in well formatted table. l. Any other function you need to manage the social network 5. Approach: To break this into pieces consider the following approach to build up your program: a. Create the User record/struct and an array of User to hold the database b. Create the network as a two dimensional array of pointers to User objects. c. Write a simple main program that implements the Menu system but with just the options to add users and print all users. d. Continue to add in functions incrementally to remove users, add friend connections, remove friend connections one at a time and implement that option in the menu system, testing each one individually before moving on to the next. e. Lastly, implement the File I/O capability to read in the database from a file or write it back out to a file. 6. Ensure all commands work and that you can write the updated database to a new database file and the updated friend connections to a new network file. Inspect the files to ensure its format and data are correct.

7 7 Report Include the following items in your report. Be sure to have your name and USC ID on the first page at the top. 1. Your answers from the design document (Due Wednesday March 6, 11:59pm) and also include a discussion of any design choices you made, any known errors, and any other information that will help us in grading your assignment. 2. A printout of 2 run- throughs of your program. 3. Place your social_network.cpp file and Report in a ZIPPED folder and submit that ZIP file. Failure to place the file in a ZIP file will lead to point deductions. Then submit the ZIP file via Blackboard. 4. Blackboard submission (Due Wednesday, March 13, 11:59pm) a. Zip your Report and your C++ program file together and submit the zipped file to Blackboard. Please also note that you must submit your code using the USC Blackboard System since the Blackboard System timestamps your submission. You should also verify what you have submitted is what you intended to submit. Please note that it is your responsibility to ensure that you have submitted valid submissions, meaning that your code must run on aludra, which is the machine that it will be graded on. 8 Late Policy All homework must be turned in on time. Late submissions will receive severe penalties. If you submit within 24 hours after the grace period, you will receive 80% of your grade. If you submit within 48 hours after the grace period, you will receive 50% of your grade. If you are unable to complete a homework assignment due to illness or family emergency, please see the instructor as soon as possible to get an extension. A doctor's note is required as proof of illness or emergency. In general, when you get sick, it's best to see a doctor and get a note just in case you may need it later.

8 Name: Score: / 100 Req. / Guideline Read Users from File and Display To Screen (Test 1) Adding Users and Writing to a File Add and Remove friend connections Wt. Score 10 (Excellent) 2 Reads in all User fields and friend connections correctly and displays them in well formatted table 2 Successfully able to add users at run- time and then write the updated database to a correctly formatted file. 2 Successfully add and remove friend connections and outputs to a network file. Error Cases 1 Database is not corrupted when invalid arguments are used Menu & Command Parsing Data Structures (record for user, array of pointers for friendships) 1 Menu prints correctly and parses commands correctly 1 Struct for user defined correctly and used correctly. Arrays of user objects and network of friends created Code Org. Well- organized 1 code (indented /readable) AND commented such that another person could easily follow what the code was attempting to accomplish as well as providing insight into your decisions Late TOTAL 8 (Good) 5 (Poor) 2 (Deficient) (0) Failure Reads in all User fields and friend connections correctly and displays them in an adequately formatted table Small error in the file format or database content. Friend connections are not reflexive (each user added to the other s friend list) Menu prints slightly improperly Acceptably organized code (indented /readable) AND commented in a reasonable manner to allow someone else to reasonably follow the code and provided some insight into your decisions 20% (1 Day Late) 50%(2 Days Late) Either misses a User while reading from the file or does not display a User or a field. Display format is adequate. Major error in the format or database contents. Add or removing friend connections corrupts other friend connections Database contents are corrupted when invalid arguments are used Menu prints incorrectly or command parsing requires extra steps (separate lines, etc.) Struct for user defined incorrectly and/or used incorrectly or arrays of users and user pointers not created Poorly organized code (indented/ readable) OR comments were disorganized and provided little insight into the code and implementation decisions. - 5 (Submission Instructions) Gross error in reading Users or display their info. Unable to write an updated database file. Gross errors when attempting to add or remove friend connections Database is completely corrupted/lost or program crashes on invalid arguments. Command parsing does not work. Struct or Arrays of pointers are defined but not used. Poorly organized code (indented/ readable) AND comments were disorganized or provided little insight into the code and implementation decisions. or does not compile Completely unorganized code and lacked helpful comments.

CS 103 The Social Network

CS 103 The Social Network CS 103 The Social Network 1 Introduction This assignment will be part 1 of 2 of the culmination of your C/C++ programming experience in this course. You will use C++ classes to model a social network,

More information

Syllabus COSC-051-x - Computer Science I Fall Office Hours: Daily hours will be entered on Course calendar (or by appointment)

Syllabus COSC-051-x - Computer Science I Fall Office Hours: Daily hours will be entered on Course calendar (or by appointment) Syllabus COSC-051-x - Computer Science I Fall 2018 Instructor: Jeremy Bolton, Ph.D. Asst Teaching Professor Department of Computer Science Office: TBD (see Course calendar for office hours) Email: jeremy.bolton@georgetown.edu

More information

Data Structure and Algorithm Homework #3 Due: 2:20pm, Tuesday, April 9, 2013 TA === Homework submission instructions ===

Data Structure and Algorithm Homework #3 Due: 2:20pm, Tuesday, April 9, 2013 TA   === Homework submission instructions === Data Structure and Algorithm Homework #3 Due: 2:20pm, Tuesday, April 9, 2013 TA email: dsa1@csientuedutw === Homework submission instructions === For Problem 1, submit your source code, a Makefile to compile

More information

ASSIGNMENT TWO: PHONE BOOK

ASSIGNMENT TWO: PHONE BOOK ASSIGNMENT TWO: PHONE BOOK ADVANCED PROGRAMMING TECHNIQUES SEMESTER 1, 2017 SUMMARY In this assignment, you will use your C programming skills to create a phone book. The phone book loads its entries from

More information

CS 241 Data Organization using C

CS 241 Data Organization using C CS 241 Data Organization using C Fall 2018 Instructor Name: Dr. Marie Vasek Contact: Private message me on the course Piazza page. Office: Farris 2120 Office Hours: Tuesday 2-4pm and Thursday 9:30-11am

More information

CS 116. Lab Assignment # 1 1

CS 116. Lab Assignment # 1 1 Points: 2 Submission CS 116 Lab Assignment # 1 1 o Deadline: Friday 02/05 11:59 PM o Submit on Blackboard under assignment Lab1. Please make sure that you click the Submit button and not just Save. Late

More information

Regis University CC&IS CS362 Data Structures

Regis University CC&IS CS362 Data Structures Regis University CC&IS CS362 Data Structures Programming Assignment #5 (covers classes and objects) Due: midnight Sunday of week 6 A college wants to you to write a test program for tracking their course

More information

Our second exam is Thursday, November 10. Note that it will not be possible to get all the homework submissions graded before the exam.

Our second exam is Thursday, November 10. Note that it will not be possible to get all the homework submissions graded before the exam. Com S 227 Fall 2016 Assignment 3 300 points Due Date: Wednesday, November 2, 11:59 pm (midnight) Late deadline (25% penalty): Thursday, November 2, 11:59 pm General information This assignment is to be

More information

Assignment Manager. Change Edit Mode to On if it is not already by clicking on the option at the top right of the window.

Assignment Manager. Change Edit Mode to On if it is not already by clicking on the option at the top right of the window. Assignment Manager Blackboard has a tool called the Assignment Manager that facilitates file submissions from students. The Assignment Manager feature can be used in any content area (e.g. Course Information,

More information

CS 241 Data Organization. August 21, 2018

CS 241 Data Organization. August 21, 2018 CS 241 Data Organization August 21, 2018 Contact Info Instructor: Dr. Marie Vasek Contact: Private message me on the course Piazza page. Office: Room 2120 of Farris Web site: www.cs.unm.edu/~vasek/cs241/

More information

CS261: HOMEWORK 2 Due 04/13/2012, at 2pm

CS261: HOMEWORK 2 Due 04/13/2012, at 2pm CS261: HOMEWORK 2 Due 04/13/2012, at 2pm Submit six *.c files via the TEACH website: https://secure.engr.oregonstate.edu:8000/teach.php?type=want_auth 1. Introduction The purpose of HW2 is to help you

More information

Assignment Tutorial.

Assignment Tutorial. Assignment Tutorial rudolf.lam@mail.mcgill.ca What we are looking at today Overview Demo Why Motivation for this lecture on assignment How The way the assignment is run What The components of the assignment

More information

EE 352 Lab 5 Cache Me If You Can

EE 352 Lab 5 Cache Me If You Can EE 52 Lab 5 Cache Me If You Can Introduction In this lab you use your straightforward triple-nested loop implementation of a matrix multiply while implementing a second blocked version of matrix multiply

More information

Data Structure and Algorithm Homework #2 Due: 2:00pm, Thursday, March 29, 2012 TA

Data Structure and Algorithm Homework #2 Due: 2:00pm, Thursday, March 29, 2012 TA Data Structure and Algorithm Homework #2 Due: 2:00pm, Thursday, March 29, 2012 TA email: dsa1@csie.ntu.edu.tw === Homework submission instructions === For Problem 1, submit your source code, a shell script

More information

Project 5 Handling Bit Arrays and Pointers in C

Project 5 Handling Bit Arrays and Pointers in C CS 255 Project 5 Handling Bit Arrays and Pointers in C Due: Thursday, Apr. 30 by 8:00am. No late submissions! Assignment: This homework is adapted from the CS450 Assignment #1 that Prof. Mandelberg uses

More information

CpSc 1111 Lab 9 2-D Arrays

CpSc 1111 Lab 9 2-D Arrays CpSc 1111 Lab 9 2-D Arrays Overview This week, you will gain some experience with 2-dimensional arrays, using loops to do the following: initialize a 2-D array with data from an input file print out the

More information

Homework 3 Grade Database Management Due Date

Homework 3 Grade Database Management Due Date Homework 3 Grade Database Management Due Date Project Statement This assignment is meant to grant you further C experience inside a full Linux environment. You will be designing software that creates a

More information

Lab 1: Silver Dollar Game 1 CSCI 2101B Fall 2018

Lab 1: Silver Dollar Game 1 CSCI 2101B Fall 2018 Lab 1: Silver Dollar Game 1 CSCI 2101B Fall 2018 Due: Tuesday, September 18, 11:59 pm Collaboration Policy: Level 1 (review full policy for details) Group Policy: Individual This lab will give you experience

More information

Assignment 4. Overview. Prof. Stewart Weiss. CSci 335 Software Design and Analysis III Assignment 4

Assignment 4. Overview. Prof. Stewart Weiss. CSci 335 Software Design and Analysis III Assignment 4 Overview This assignment combines several dierent data abstractions and algorithms that we have covered in class, including priority queues, on-line disjoint set operations, hashing, and sorting. The project

More information

ECE Object-Oriented Programming using C++ and Java

ECE Object-Oriented Programming using C++ and Java 1 ECE 30862 - Object-Oriented Programming using C++ and Java Instructor Information Name: Sam Midkiff Website: https://engineering.purdue.edu/~smidkiff Office: EE 310 Office hours: Tuesday, 2:30 to 4:00

More information

UNIVERSITY OF NEBRASKA AT OMAHA Computer Science 4500/8506 Operating Systems Fall Programming Assignment 1 (updated 9/16/2017)

UNIVERSITY OF NEBRASKA AT OMAHA Computer Science 4500/8506 Operating Systems Fall Programming Assignment 1 (updated 9/16/2017) UNIVERSITY OF NEBRASKA AT OMAHA Computer Science 4500/8506 Operating Systems Fall 2017 Programming Assignment 1 (updated 9/16/2017) Introduction The purpose of this programming assignment is to give you

More information

CSC209. Software Tools and Systems Programming. https://mcs.utm.utoronto.ca/~209

CSC209. Software Tools and Systems Programming. https://mcs.utm.utoronto.ca/~209 CSC209 Software Tools and Systems Programming https://mcs.utm.utoronto.ca/~209 What is this Course About? Software Tools Using them Building them Systems Programming Quirks of C The file system System

More information

CSSE 304 Assignment #13 (interpreter milestone #1) Updated for Fall, 2018

CSSE 304 Assignment #13 (interpreter milestone #1) Updated for Fall, 2018 CSSE 304 Assignment #13 (interpreter milestone #1) Updated for Fall, 2018 Deliverables: Your code (submit to PLC server). A13 participation survey (on Moodle, by the day after the A13 due date). This is

More information

Project #1 Exceptions and Simple System Calls

Project #1 Exceptions and Simple System Calls Project #1 Exceptions and Simple System Calls Introduction to Operating Systems Assigned: January 21, 2004 CSE421 Due: February 17, 2004 11:59:59 PM The first project is designed to further your understanding

More information

Math.3336: Discrete Mathematics. Chapter 10 Graph Theory

Math.3336: Discrete Mathematics. Chapter 10 Graph Theory Math.3336: Discrete Mathematics Chapter 10 Graph Theory Instructor: Dr. Blerina Xhabli Department of Mathematics, University of Houston https://www.math.uh.edu/ blerina Email: blerina@math.uh.edu Fall

More information

EE 109 Lab 8a Conversion Experience

EE 109 Lab 8a Conversion Experience EE 109 Lab 8a Conversion Experience 1 Introduction In this lab you will write a small program to convert a string of digits representing a number in some other base (between 2 and 10) to decimal. The user

More information

CSCI 201L Syllabus Principles of Software Development Spring 2018

CSCI 201L Syllabus Principles of Software Development Spring 2018 L Syllabus Principles of Software Development Spring 2018 Instructor: Jeffrey Miller, Ph.D. Email: jeffrey.miller@usc.edu Web Page: http://www-scf.usc.edu/~csci201 Office: SAL 342 Phone: 213-740-7129 Lectures:

More information

Tips from the experts: How to waste a lot of time on this assignment

Tips from the experts: How to waste a lot of time on this assignment Com S 227 Spring 2018 Assignment 1 100 points Due Date: Friday, September 14, 11:59 pm (midnight) Late deadline (25% penalty): Monday, September 17, 11:59 pm General information This assignment is to be

More information

a f b e c d Figure 1 Figure 2 Figure 3

a f b e c d Figure 1 Figure 2 Figure 3 CS2604 Fall 2001 PROGRAMMING ASSIGNMENT #4: Maze Generator Due Wednesday, December 5 @ 11:00 PM for 125 points Early bonus date: Tuesday, December 4 @ 11:00 PM for 13 point bonus Late date: Thursday, December

More information

Important Project Dates

Important Project Dates Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science 6.035, Fall 2002 Handout 4 Project Overview Wednesday, September 4 This is an overview of the course project

More information

Project#3 [40 points] COP 2220 Fall 2017

Project#3 [40 points] COP 2220 Fall 2017 Project#3 [40 points] COP 2220 Fall 2017 (Materials that you MUST review for this project) 2017 Saeed Rajput, Ph.D. Problem Requirements: Allow students to submit assignments and instructor to award grades

More information

CIT 590 Homework 5 HTML Resumes

CIT 590 Homework 5 HTML Resumes CIT 590 Homework 5 HTML Resumes Purposes of this assignment Reading from and writing to files Scraping information from a text file Basic HTML usage General problem specification A website is made up of

More information

Due Friday, March 20 at 11:59 p.m. Write and submit one Java program, Sequence.java, as described on the next page.

Due Friday, March 20 at 11:59 p.m. Write and submit one Java program, Sequence.java, as described on the next page. CS170 Section 5 HW #3 Due Friday, March 20 at 11:59 p.m. Write and submit one Java program, Sequence.java, as described on the next page. The assignment should be submitted on the Math/CS system (from

More information

CS 118 Project Phase 2 P2P Networking

CS 118 Project Phase 2 P2P Networking CS 118 Project Phase 2 P2P Networking Due Monday, March 15 th at 11:59pm Boelter Hall 4428, Box D3/C4 and via Electronic Submission Overview In this phase you will extend your work from Phase 1 to create

More information

Note: This is a miniassignment and the grading is automated. If you do not submit it correctly, you will receive at most half credit.

Note: This is a miniassignment and the grading is automated. If you do not submit it correctly, you will receive at most half credit. Com S 227 Fall 2018 Miniassignment 1 40 points Due Date: Friday, October 12, 11:59 pm (midnight) Late deadline (25% penalty): Monday, October 15, 11:59 pm General information This assignment is to be done

More information

EE 422C HW 6 Multithreaded Programming

EE 422C HW 6 Multithreaded Programming EE 422C HW 6 Multithreaded Programming 100 Points Due: Monday 4/16/18 at 11:59pm Problem A certain theater plays one show each night. The theater has multiple box office outlets to sell tickets, and the

More information

3. A Periodic Alarm: intdate.c & sigsend.c

3. A Periodic Alarm: intdate.c & sigsend.c p6: Signal Handling 1. Logistics 1. This project must be done individually. It is academic misconduct to share your work with others in any form including posting it on publicly accessible web sites, such

More information

Our second exam is Monday, April 3. Note that it will not be possible to get all the homework submissions graded before the exam.

Our second exam is Monday, April 3. Note that it will not be possible to get all the homework submissions graded before the exam. Com S 227 Spring 2017 Assignment 3 300 points Due Date:, Wednesday, March 29 11:59 pm (midnight) Late deadline (25% penalty): Thursday, March 30, 11:59 pm General information This assignment is to be done

More information

CS61C : Machine Structures

CS61C : Machine Structures inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures Lecture 4 C Pointers 2004-09-08 Lecturer PSOE Dan Garcia www.cs.berkeley.edu/~ddgarcia Cal flies over Air Force We re ranked 13 th in the US and

More information

5COS005W Coursework 2 (Semester 2)

5COS005W Coursework 2 (Semester 2) University of Westminster Department of Computer Science 5COS005W Coursework 2 (Semester 2) Module leader Dr D. Dracopoulos Unit Coursework 2 Weighting: 50% Qualifying mark 30% Description Learning Outcomes

More information

CS 1803 Pair Homework 4 Greedy Scheduler (Part I) Due: Wednesday, September 29th, before 6 PM Out of 100 points

CS 1803 Pair Homework 4 Greedy Scheduler (Part I) Due: Wednesday, September 29th, before 6 PM Out of 100 points CS 1803 Pair Homework 4 Greedy Scheduler (Part I) Due: Wednesday, September 29th, before 6 PM Out of 100 points Files to submit: 1. HW4.py This is a PAIR PROGRAMMING Assignment: Work with your partner!

More information

CS150 Assignment 7 DNA!

CS150 Assignment 7 DNA! CS150 Assignment 7 DNA! Date assigned: Monday, November 17, 2008 Design Documents Due: Friday, November 21, 2008, 1pm (5 points) Date due: Tuesday, December 2, 2008, 5pm (55 points) Total points: 60pts

More information

CS 2316 Individual Homework 4 Greedy Scheduler (Part I) Due: Wednesday, September 18th, before 11:55 PM Out of 100 points

CS 2316 Individual Homework 4 Greedy Scheduler (Part I) Due: Wednesday, September 18th, before 11:55 PM Out of 100 points CS 2316 Individual Homework 4 Greedy Scheduler (Part I) Due: Wednesday, September 18th, before 11:55 PM Out of 100 points Files to submit: 1. HW4.py This is an INDIVIDUAL assignment! Collaboration at a

More information

COMP Assignment 1

COMP Assignment 1 COMP281 2019 Assignment 1 In the following, you will find the problems that constitute Assignment 1. They will be also available on the online judging (OJ) system available at https://student.csc.liv.ac.uk/judgeonline

More information

Due Date: Two Program Demonstrations (Testing and Debugging): End of Lab

Due Date: Two Program Demonstrations (Testing and Debugging): End of Lab CSC 111 Fall 2005 Lab 6: Methods and Debugging Due Date: Two Program Demonstrations (Testing and Debugging): End of Lab Documented GameMethods file and Corrected HighLow game: Uploaded by midnight of lab

More information

ACORN.COM CS 1110 SPRING 2012: ASSIGNMENT A1

ACORN.COM CS 1110 SPRING 2012: ASSIGNMENT A1 ACORN.COM CS 1110 SPRING 2012: ASSIGNMENT A1 Due to CMS by Tuesday, February 14. Social networking has caused a return of the dot-com madness. You want in on the easy money, so you have decided to make

More information

Trina Gregory. Background. Contact

Trina Gregory. Background. Contact Trina Gregory Background BA, Mathematics-Computer Science Software engineer for over 15 years Teaching at USC since Spring 2007 MS, Computer Science Contact Email: trina.gregory@usc.edu or trinagre@usc.edu

More information

CS 375 UNIX System Programming Spring 2014 Syllabus

CS 375 UNIX System Programming Spring 2014 Syllabus CS 375 UNIX System Programming Spring 2014 Syllabus Instructor Dr. Deborah Hwang KC 264, 488 2193, hwang@evansville.edu Home page: http://csserver.evansville.edu/~hwang Office Hours: See instructor's home

More information

In this course, you need to use Pearson etext. Go to "Pearson etext and Video Notes".

In this course, you need to use Pearson etext. Go to Pearson etext and Video Notes. **Disclaimer** This syllabus is to be used as a guideline only. The information provided is a summary of topics to be covered in the class. Information contained in this document such as assignments, grading

More information

"In-Class" Assignment-"WINDOWS 7/OWA"

In-Class Assignment-WINDOWS 7/OWA WINDOWS/OWA ASSIGNMENT Page 1 of 6 FALL 2011 "In-Class" Assignment-"WINDOWS 7/OWA" Deadline: To be completed by Week 4, (Sept. 26-30), by midnight, the night before your scheduled class. IMPORTANT NOTES:

More information

Circular Linked List Assignment

Circular Linked List Assignment Page 1 of 6 Circular Linked List Assignment Overview A circular linked list is essentially a singly linked list in which the next pointer of the tail node is set to point to the head node of the linked

More information

Tips from the experts: How to waste a lot of time on this assignment

Tips from the experts: How to waste a lot of time on this assignment Com S 227 Spring 2018 Assignment 1 80 points Due Date: Friday, February 2, 11:59 pm (midnight) Late deadline (25% penalty): Monday, February 5, 11:59 pm General information This assignment is to be done

More information

Introduction to Information Technology ITP 101x (4 Units)

Introduction to Information Technology ITP 101x (4 Units) Objective Concepts Introduction to Information Technology ITP 101x (4 Units) Upon completing this course, students will: - Understand the fundamentals of information technology - Learn core concepts of

More information

/ Cloud Computing. Recitation 2 January 19 & 21, 2016

/ Cloud Computing. Recitation 2 January 19 & 21, 2016 15-319 / 15-619 Cloud Computing Recitation 2 January 19 & 21, 2016 Accessing the Course Open Learning Initiative (OLI) Course Access via Blackboard http://theproject.zone AWS Account Setup Azure Account

More information

Spring 2017 CMSC 140 Programming Project 7: Payroll

Spring 2017 CMSC 140 Programming Project 7: Payroll Spring 2017 CMSC 140 Programming Project 7: Payroll Concepts tested by the program: 1. Working with arrays 2. Using file operations 3. Using a selection sort to sort parallel arrays 4. Using a binary search

More information

Introduction to Programming System Design CSCI 455x (4 Units)

Introduction to Programming System Design CSCI 455x (4 Units) Introduction to Programming System Design CSCI 455x (4 Units) Description This course covers programming in Java and C++. Topics include review of basic programming concepts such as control structures,

More information

San José State University Computer Science CS 122 Advanced Python Programming Spring 2018

San José State University Computer Science CS 122 Advanced Python Programming Spring 2018 Course and Contact Information San José State University Computer Science CS 122 Advanced Python Programming Spring 2018 Instructor: Office Location: Telephone: Email: Office Hours: Class Days/Time: Classroom:

More information

Programming Assignment 6: Famous Scientists Diving Competition

Programming Assignment 6: Famous Scientists Diving Competition Page 1 of 5 Programming Assignment 6: Famous Scientists Diving Competition COP 3014 - Spring Term 2010 Point Value: 100 points Project Due Date: Wednesday April 21, 2010 at 11:59 PM NO programs will be

More information

EE 352 Lab 4 Cache Me If You Can

EE 352 Lab 4 Cache Me If You Can EE 352 Lab 4 Cache Me If You Can 1 Introduction In this lab you use your straightforward triple-nested loop implementation of a matrix multiply while implementing a second blocked version of matrix multiply

More information

EE355 Lab 5 - The Files Are *In* the Computer

EE355 Lab 5 - The Files Are *In* the Computer 1 Introduction In this lab you will modify a working word scramble game that selects a word from a predefined word bank to support a user-defined word bank that is read in from a file. This is a peer evaluated

More information

CS 202, Fall 2017 Homework #4 Balanced Search Trees and Hashing Due Date: December 18, 2017

CS 202, Fall 2017 Homework #4 Balanced Search Trees and Hashing Due Date: December 18, 2017 CS 202, Fall 2017 Homework #4 Balanced Search Trees and Hashing Due Date: December 18, 2017 Important Notes Please do not start the assignment before reading these notes. Before 23:55, December 18, upload

More information

Assignments 3 & 4. COMP248/Winter Assignment 3 & 4 Page 1 of 7

Assignments 3 & 4. COMP248/Winter Assignment 3 & 4 Page 1 of 7 Concordia University Comp 248 Winter 2016 Introduction to Programming Combined Assignments 3 & 4 - Due by 11:59 PM Sunday March 20, 2016 Assignments 3 & 4 Purpose: The purpose of these assignments is to

More information

CSCI544, Fall 2016: Assignment 2

CSCI544, Fall 2016: Assignment 2 CSCI544, Fall 2016: Assignment 2 Due Date: October 28 st, before 4pm. Introduction The goal of this assignment is to get some experience implementing the simple but effective machine learning model, the

More information

ECE573 Introduction to Compilers & Translators

ECE573 Introduction to Compilers & Translators ECE573 Introduction to Compilers & Translators Tentative Syllabus Fall 2005 Tu/Th 9:00-10:15 AM, EE 115 Instructor Prof. R. Eigenmann Tel 49-41741 Email eigenman@ecn Office EE334C Office Hours Tu 10:15-11:30

More information

Data Structures and Algorithms

Data Structures and Algorithms CS 3114 Data Structures and Algorithms 1 Trinity College Library Univ. of Dublin Instructors and Course Information 2 William D McQuain Email: Office: Office Hours: wmcquain@cs.vt.edu 634 McBryde Hall

More information

CS 200, Section 1, Programming I, Fall 2017 College of Arts & Sciences Syllabus

CS 200, Section 1, Programming I, Fall 2017 College of Arts & Sciences Syllabus Northeastern Illinois University CS 200, Section 1, Programming I, Fall 2017 Syllabus, Page 1 of 7 CS 200, Section 1, Programming I, Fall 2017 College of Arts & Sciences Syllabus COURSE INFORMATION: Credit

More information

Web-CAT Guidelines. 1. Logging into Web-CAT

Web-CAT Guidelines. 1. Logging into Web-CAT Contents: 1. Logging into Web-CAT 2. Submitting Projects via jgrasp a. Configuring Web-CAT b. Submitting Individual Files (Example: Activity 1) c. Submitting a Project to Web-CAT d. Submitting in Web-CAT

More information

Data Structures and OO Development II

Data Structures and OO Development II CS 2606 1 Long House Ancestral Puebloan, Mesa Verde Instructor and Course Information 2 William D McQuain Email: Office: Office Hours: wmcquain@cs.vt.edu 631 McBryde Hall see course website CS 2606 Design

More information

CMPSCI 187 / Spring 2015 Sorting Kata

CMPSCI 187 / Spring 2015 Sorting Kata Due on Thursday, April 30, 8:30 a.m Marc Liberatore and John Ridgway Morrill I N375 Section 01 @ 10:00 Section 02 @ 08:30 1 Contents Overview 3 Learning Goals.................................................

More information

Computer Science CSC324 Wednesday February 13, Homework Assignment #3 Due: Thursday February 28, 2013, by 10 p.m.

Computer Science CSC324 Wednesday February 13, Homework Assignment #3 Due: Thursday February 28, 2013, by 10 p.m. Computer Science CSC324 Wednesday February 13, 2013 St. George Campus University of Toronto Homework Assignment #3 Due: Thursday February 28, 2013, by 10 p.m. Silent Policy A silent policy takes effect

More information

CS2223: Algorithms D-Term, Assignment 5

CS2223: Algorithms D-Term, Assignment 5 CS2223: Algorithms D-Term, 2015 Assignment 5 Teams: To be done individually Due date: 05/01/2015 (1:50 PM) Note: no late submission of HW5 will be accepted; we will talk about the solution of HW5 during

More information

CS2223: Algorithms D- Term, Homework I. Teams: To be done individually. Due date: 03/27/2015 (1:50 PM) Submission: Electronic submission only

CS2223: Algorithms D- Term, Homework I. Teams: To be done individually. Due date: 03/27/2015 (1:50 PM) Submission: Electronic submission only CS2223: Algorithms D- Term, 2015 Homework I Teams: To be done individually Due date: 03/27/2015 (1:50 PM) Submission: Electronic submission only 1 General Instructions Python Code vs. Pseudocode: Each

More information

CS 341 Spring 2014 HW #8. Policy: Individual *or* teams of 2 electronic via Blackboard. Assignment. N-tier Design

CS 341 Spring 2014 HW #8. Policy: Individual *or* teams of 2 electronic via Blackboard. Assignment. N-tier Design HW #8 Complete By: Wednesday April 9 th @ 9:00pm Policy: Individual *or* teams of 2 Submission: electronic via Blackboard CS 341 Spring 2014 Assignment The previous homework (HW7) focused on building a

More information

CSC209. Software Tools and Systems Programming. https://mcs.utm.utoronto.ca/~209

CSC209. Software Tools and Systems Programming. https://mcs.utm.utoronto.ca/~209 CSC209 Software Tools and Systems Programming https://mcs.utm.utoronto.ca/~209 What is this Course About? Software Tools Using them Building them Systems Programming Quirks of C The file system System

More information

Tips from the experts: How to waste a lot of time on this assignment

Tips from the experts: How to waste a lot of time on this assignment Com S 227 Spring 2017 Assignment 1 80 points Due Date: Thursday, February 2, 11:59 pm (midnight) Late deadline (25% penalty): Friday, February 3, 11:59 pm General information This assignment is to be done

More information

CDA3101 Project 1: MIPS Assembler Due 2/5. I. Purpose

CDA3101 Project 1: MIPS Assembler Due 2/5. I. Purpose CDA3101 Project 1: MIPS Assembler Due 2/5 I. Purpose The primary purpose of this project is to help cement the concepts of the MIPS instruction set and give you insight into how MIPS assembly programs

More information

CPS352 Database Systems Syllabus Fall 2012

CPS352 Database Systems Syllabus Fall 2012 CPS352 Database Systems Syllabus Fall 2012 Professor: Simon Miner Fall Semester 2012 Contact: Simon.Miner@gordon.edu Thursday 6:00 9:00 pm KOSC 128 978-380- 2626 KOSC 243 Office Hours: Thursday 4:00 6:00

More information

3. When you process a largest recent earthquake query, you should print out:

3. When you process a largest recent earthquake query, you should print out: CS3114 (Fall 2013) PROGRAMMING ASSIGNMENT #1 Due Wednesday, September 18 @ 11:00 PM for 100 points Due Tuesday, September 17 @ 11:00 PM for 10 point bonus Updated: 9/11/2013 Assignment: This is the first

More information

(edit 3/7: fixed a typo in project specification 2-f) user_id that user enters should be in the range [0,n-1] (i.e., from 0 to n-1, inclusive))

(edit 3/7: fixed a typo in project specification 2-f) user_id that user enters should be in the range [0,n-1] (i.e., from 0 to n-1, inclusive)) CSE 231 Spring 2017 Programming Project 7 (edit 3/1: fixed a typo in num_in_common_between_lists(user1_friend_lst, user2_friend_lst as described in c) calc_similarity_scores(network)) (edit 3/7: fixed

More information

The source code for this lab must be submitted in a file named lab4.py. The source code file must contain a file header formatted as in previous labs.

The source code for this lab must be submitted in a file named lab4.py. The source code file must contain a file header formatted as in previous labs. CS 112 - Lab Assignment #4 Conversions) Specification (If Statements and Numeric The purpose of this lab is to gain experience if statements, String to numeric conversions with multiple number bases. The

More information

BLACKBOARD PORTFOLIOS

BLACKBOARD PORTFOLIOS BLACKBOARD PORTFOLIOS Blackboard Learn Student Support elearning Instructors may create assignments in their courses that require students to build a portfolio using Blackboard s portfolio tool. A portfolio

More information

Introduction to MATLAB

Introduction to MATLAB Introduction to MATLAB This note will introduce you to MATLAB for the purposes of this course. Most of the emphasis is on how to set up MATLAB on your computer. The purposes of this supplement are two.

More information

Programming Standards: You must conform to good programming/documentation standards. Some specifics:

Programming Standards: You must conform to good programming/documentation standards. Some specifics: CS3114 (Spring 2011) PROGRAMMING ASSIGNMENT #3 Due Thursday, April 7 @ 11:00 PM for 100 points Early bonus date: Wednesday, April 6 @ 11:00 PM for a 10 point bonus Initial Schedule due Thursday, March

More information

CS / Cloud Computing. Recitation 3 September 9 th & 11 th, 2014

CS / Cloud Computing. Recitation 3 September 9 th & 11 th, 2014 CS15-319 / 15-619 Cloud Computing Recitation 3 September 9 th & 11 th, 2014 Overview Last Week s Reflection --Project 1.1, Quiz 1, Unit 1 This Week s Schedule --Unit2 (module 3 & 4), Project 1.2 Questions

More information

EECE.2160: ECE Application Programming Spring 2017

EECE.2160: ECE Application Programming Spring 2017 Course Meetings Section 201: MWF 8-8:50, Ball 314 Section 202: MWF 12-12:50, Kitson 305 Course Website Main page: http://mjgeiger.github.io/eece2160/sp17/ Schedule: http://mjgeiger.github.io/eece2160/sp17/schedule.htm

More information

CS 211 Programming Practicum Fall 2018

CS 211 Programming Practicum Fall 2018 Due: Wednesday, 11/7/18 at 11:59 pm Infix Expression Evaluator Programming Project 5 For this lab, write a C++ program that will evaluate an infix expression. The algorithm REQUIRED for this program will

More information

These bit positions are represented by numerical values, as defined in list.h.

These bit positions are represented by numerical values, as defined in list.h. CS305 Programming Assignment #3: Lovely Linked Lists with Starter Code Out: Feb 19, 015. Due: Mar 3, 015 by 11:00 pm on the CS305 Moodle site. Total points: 100. approximately 0% of the total homework

More information

1 The Var Shell (vsh)

1 The Var Shell (vsh) CS 470G Project 1 The Var Shell Due Date: February 7, 2011 In this assignment, you will write a shell that allows the user to interactively execute Unix programs. Your shell, called the Var Shell (vsh),

More information

Introduction to UNIX

Introduction to UNIX Introduction to UNIX Class time and location COP 3353, Spring 2011 Department of Computer Science, Florida State University Tuesday, 9:30AM-10:20 AM, 201 Milton Carothers Hall (MCH). (Note that this is

More information

Note: This is a miniassignment and the grading is automated. If you do not submit it correctly, you will receive at most half credit.

Note: This is a miniassignment and the grading is automated. If you do not submit it correctly, you will receive at most half credit. Com S 227 Spring 2018 Miniassignment 1 40 points Due Date: Thursday, March 8, 11:59 pm (midnight) Late deadline (25% penalty): Friday, March 9, 11:59 pm General information This assignment is to be done

More information

You must pass the final exam to pass the course.

You must pass the final exam to pass the course. Computer Science Technology Department Houston Community College System Department Website: http://csci.hccs.cc.tx.us CRN: 46876 978-1-4239-0146-4 1-4239-0146-0 Semester: Fall 2010 Campus and Room: Stafford

More information

Fall CSEE W4119 Computer Networks Programming Assignment 1 - Simple Chat Application

Fall CSEE W4119 Computer Networks Programming Assignment 1 - Simple Chat Application Fall 2011 - CSEE W4119 Computer Networks Programming Assignment 1 - Simple Chat Application Prof. Gil Zussman due: 10/26/2011, 11 AM, EST 1 Introduction This programming assignment is to implement a simple

More information

CS 1803 Pair Homework 3 Calculator Pair Fun Due: Wednesday, September 15th, before 6 PM Out of 100 points

CS 1803 Pair Homework 3 Calculator Pair Fun Due: Wednesday, September 15th, before 6 PM Out of 100 points CS 1803 Pair Homework 3 Calculator Pair Fun Due: Wednesday, September 15th, before 6 PM Out of 100 points Files to submit: 1. HW3.py This is a PAIR PROGRAMMING Assignment: Work with your partner! For pair

More information

In this course, you need to use Pearson etext. Go to "Pearson etext and Video Notes".

In this course, you need to use Pearson etext. Go to Pearson etext and Video Notes. **Disclaimer** This syllabus is to be used as a guideline only. The information provided is a summary of topics to be covered in the class. Information contained in this document such as assignments, grading

More information

2 Steps Building the Coding and Testing Infrastructure

2 Steps Building the Coding and Testing Infrastructure CSI 333 Prog. HW/SW Interface Projects 5 Spring 2007 Professor Chaiken Simple Recursive Regular Expression Matcher in ASM Due: Oct 23 and Oct 30 (see below) The numbered items specify what will be graded

More information

PIC 10B Lecture 1 Winter 2014 Homework Assignment #3

PIC 10B Lecture 1 Winter 2014 Homework Assignment #3 PIC 10B Lecture 1 Winter 2014 Homework Assignment #3 Due Tuesday, February 4, 2014 by 5:00pm. Objectives: 1. To redefine the Big 3 : Copy constructor, Assignment operator, and Destructor for a class whose

More information

Assignment 2: I2C Simulator - V1.02

Assignment 2: I2C Simulator - V1.02 Assignment 2: I2C Simulator - V1.02 Due Wednesday February 22 nd, 2012 by 11:59 pm. Submit deliverables via CourSys: https://courses.cs.sfu.ca/ Late penalty is 10% per calendar day (each 0 to 24 hour period

More information

CS 470 Operating Systems Spring 2013 Shell Project

CS 470 Operating Systems Spring 2013 Shell Project CS 470 Operating Systems Spring 2013 Shell Project 40 points Out: January 11, 2013 Due: January 25, 2012 (Friday) The purpose of this project is provide experience with process manipulation and signal

More information

Homework Assignment #3

Homework Assignment #3 CS 540-2: Introduction to Artificial Intelligence Homework Assignment #3 Assigned: Monday, February 20 Due: Saturday, March 4 Hand-In Instructions This assignment includes written problems and programming

More information

Homework 5: Exam Review

Homework 5: Exam Review CIS 331 April 18, 2017 Introduction to Networks & Security Homework 5: Exam Review Homework 5: Exam Review This homework is due Wednesday, April 26 at 10 p.m.. You will have a budget of five late days

More information