├── week7 ├── lab7 │ └── songs │ │ ├── 1.sql │ │ ├── 5.sql │ │ ├── 2.sql │ │ ├── 8.sql │ │ ├── 3.sql │ │ ├── songs.db │ │ ├── 4.sql │ │ ├── 6.sql │ │ ├── 7.sql │ │ └── answers.txt └── Problem Set 7 │ ├── movies │ ├── LICENSE │ ├── 1.sql │ ├── 2.sql │ ├── 3.sql │ ├── 5.sql │ ├── 6.sql │ ├── 4.sql │ ├── 7.sql │ ├── 8.sql │ ├── 9.sql │ ├── 10.sql │ ├── 11.sql │ ├── 12.sql │ └── 13.sql │ └── fiftyville │ ├── fiftyville.db │ ├── answers.txt │ └── log.sql ├── week5 ├── Problem Set 5 │ └── speller │ │ ├── dictionaries │ │ └── small │ │ ├── texts │ │ ├── cat.txt │ │ ├── holmes.txt │ │ ├── xueqin2.txt │ │ ├── pneumonoultramicroscopicsilicovolcanoconiosis.txt │ │ └── wordsworth.txt │ │ ├── speller │ │ ├── speller.o │ │ ├── speller50 │ │ ├── dictionary.o │ │ ├── keys │ │ ├── cat.txt │ │ ├── wordsworth.txt │ │ ├── pneumonoultramicroscopicsilicovolcanoconiosis.txt │ │ ├── constitution.txt │ │ └── carroll.txt │ │ ├── dictionary.h │ │ ├── Makefile │ │ ├── dictionary.c │ │ └── speller.c └── lab5 │ └── inheritance │ ├── inheritance │ └── inheritance.c ├── week6 ├── Problem Set 6 │ ├── sentimental-credit │ │ ├── sentimental-readability │ │ │ └── readability.py │ │ └── credit.py │ ├── dna │ │ ├── databases │ │ │ ├── small.csv │ │ │ └── large.csv │ │ ├── sequences │ │ │ ├── 1.txt │ │ │ ├── 4.txt │ │ │ ├── 3.txt │ │ │ ├── 2.txt │ │ │ ├── 14.txt │ │ │ ├── 6.txt │ │ │ ├── 17.txt │ │ │ ├── 15.txt │ │ │ ├── 10.txt │ │ │ ├── 20.txt │ │ │ ├── 16.txt │ │ │ ├── 9.txt │ │ │ ├── 8.txt │ │ │ ├── 19.txt │ │ │ ├── 5.txt │ │ │ ├── 7.txt │ │ │ ├── 11.txt │ │ │ └── 12.txt │ │ └── dna.py │ ├── sentimental-hello │ │ └── hello.py │ ├── sentimental-mario-more │ │ └── mario.py │ └── sentimental-readability │ │ └── readability.py └── lab6 │ └── world-cup │ ├── 2018m.csv │ ├── 2019w.csv │ ├── answers.txt │ └── tournament.py ├── final-project ├── requirements.txt ├── static │ └── bus.jpeg ├── templates │ ├── apology.html │ ├── admin_login.html │ ├── index.html │ ├── inquire_bought_ticket.html │ ├── buy.html │ ├── update_vehicle.html │ ├── all_vehicles.html │ ├── available_tickets.html │ ├── edit_vehicle.html │ ├── all_tickets.html │ ├── bought_tickets.html │ ├── update_route.html │ └── edit_route.html ├── helpers.py └── README.md ├── week9 ├── Problem Set 9 │ └── finance │ │ ├── requirements.txt │ │ ├── finance.db │ │ ├── static │ │ ├── favicon.ico │ │ └── styles.css │ │ ├── flask_session │ │ ├── 2029240f6d1128be89ddc32729463129 │ │ └── a41a7306d402f760b795214211a5887b │ │ ├── templates │ │ ├── quoted.html │ │ ├── apology.html │ │ ├── quote.html │ │ ├── login.html │ │ ├── buy.html │ │ ├── sell.html │ │ ├── history.html │ │ ├── register.html │ │ ├── change_password.html │ │ ├── index.html │ │ └── layout.html │ │ └── helpers.py └── lab9 │ └── birthdays │ ├── birthdays.db │ ├── app.py │ ├── templates │ └── index.html │ └── static │ └── styles.css ├── week4 ├── lab4 │ ├── volume │ │ ├── volume │ │ ├── input.wav │ │ ├── output.wav │ │ └── volume.c │ └── smiley │ │ ├── helpers.h │ │ ├── Makefile │ │ ├── helpers.c │ │ ├── bmp.h │ │ └── colorize.c └── Problem Set 4 │ ├── reverse │ ├── reverse │ ├── input.wav │ ├── output.wav │ ├── wav.h │ └── reverse.c │ └── filter-more │ ├── filter │ ├── images │ ├── blur.bmp │ ├── edges.bmp │ ├── tower.bmp │ ├── yard.bmp │ ├── reflect.bmp │ ├── stadium.bmp │ ├── courtyard.bmp │ └── grayscale.bmp │ ├── Makefile │ ├── helpers.h │ ├── bmp.h │ ├── filter.c │ └── helpers.c ├── week8 ├── Problem Set 8 │ └── homepage │ │ ├── Images │ │ ├── cv.png │ │ ├── CS50P.png │ │ ├── photo.jpg │ │ ├── FirstStepToAI.png │ │ ├── InformationTech.png │ │ └── JavaBasicCertificate.png │ │ ├── script.js │ │ ├── informationtech.html │ │ ├── firststeptoai.html │ │ ├── cs50p.html │ │ ├── javabasic.html │ │ └── style.css └── lab8 │ └── trivia │ ├── styles.css │ └── index.html ├── README.md ├── week1 ├── Problem Set 1 │ ├── hello │ │ └── hello.c │ ├── mario-more │ │ └── mario.c │ └── credit │ │ └── credit.c └── lab1 │ └── population │ └── population.c ├── week3 ├── lab3 │ └── sort │ │ └── answers.txt └── Problem Set 3 │ └── plurality │ └── plurality.c └── week2 ├── lab2 └── scrabble │ └── scrabble.c └── Problem Set 2 ├── readability └── readability.c └── wordle └── wordle.c /week7/lab7/songs/1.sql: -------------------------------------------------------------------------------- 1 | SELECT name FROM songs -------------------------------------------------------------------------------- /week7/lab7/songs/5.sql: -------------------------------------------------------------------------------- 1 | SELECT AVG(energy) FROM songs -------------------------------------------------------------------------------- /week7/lab7/songs/2.sql: -------------------------------------------------------------------------------- 1 | SELECT name FROM songs ORDER BY tempo ASC -------------------------------------------------------------------------------- /week5/Problem Set 5/speller/dictionaries/small: -------------------------------------------------------------------------------- 1 | cat 2 | caterpillar 3 | -------------------------------------------------------------------------------- /week5/Problem Set 5/speller/texts/cat.txt: -------------------------------------------------------------------------------- 1 | A cat is not a caterpillar. 2 | -------------------------------------------------------------------------------- /week7/Problem Set 7/movies/LICENSE: -------------------------------------------------------------------------------- 1 | https://www.imdb.com/conditions 2 | -------------------------------------------------------------------------------- /week7/lab7/songs/8.sql: -------------------------------------------------------------------------------- 1 | SELECT name FROM songs WHERE name LIKE '%feat.%' -------------------------------------------------------------------------------- /week7/Problem Set 7/movies/1.sql: -------------------------------------------------------------------------------- 1 | SELECT title FROM movies WHERE year = 2008 -------------------------------------------------------------------------------- /week7/lab7/songs/3.sql: -------------------------------------------------------------------------------- 1 | SELECT name FROM songs ORDER BY duration_ms DESC LIMIT 5 -------------------------------------------------------------------------------- /week6/Problem Set 6/sentimental-credit/sentimental-readability/readability.py: -------------------------------------------------------------------------------- 1 | # TODO -------------------------------------------------------------------------------- /week7/Problem Set 7/movies/2.sql: -------------------------------------------------------------------------------- 1 | SELECT birth FROM people WHERE name = "Emma Stone" -------------------------------------------------------------------------------- /final-project/requirements.txt: -------------------------------------------------------------------------------- 1 | flask 2 | pyodbc 3 | werkzeug.security 4 | datetime -------------------------------------------------------------------------------- /week7/Problem Set 7/movies/3.sql: -------------------------------------------------------------------------------- 1 | SELECT title FROM movies WHERE year >= 2018 ORDER BY title -------------------------------------------------------------------------------- /week9/Problem Set 9/finance/requirements.txt: -------------------------------------------------------------------------------- 1 | cs50 2 | Flask 3 | Flask-Session 4 | requests -------------------------------------------------------------------------------- /week4/lab4/volume/volume: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BurakAhmet/cs50x/main/week4/lab4/volume/volume -------------------------------------------------------------------------------- /week7/lab7/songs/songs.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BurakAhmet/cs50x/main/week7/lab7/songs/songs.db -------------------------------------------------------------------------------- /week4/lab4/volume/input.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BurakAhmet/cs50x/main/week4/lab4/volume/input.wav -------------------------------------------------------------------------------- /week4/lab4/volume/output.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BurakAhmet/cs50x/main/week4/lab4/volume/output.wav -------------------------------------------------------------------------------- /week7/lab7/songs/4.sql: -------------------------------------------------------------------------------- 1 | SELECT name FROM songs WHERE danceability > 0.75 AND energy > 0.75 AND valence > 0.75 -------------------------------------------------------------------------------- /final-project/static/bus.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BurakAhmet/cs50x/main/final-project/static/bus.jpeg -------------------------------------------------------------------------------- /week7/Problem Set 7/movies/5.sql: -------------------------------------------------------------------------------- 1 | SELECT title, year FROM movies WHERE title LIKE "Harry Potter%" ORDER BY year -------------------------------------------------------------------------------- /week7/lab7/songs/6.sql: -------------------------------------------------------------------------------- 1 | SELECT name FROM songs WHERE artist_id = (SELECT id FROM artists WHERE name='Post Malone') -------------------------------------------------------------------------------- /week6/Problem Set 6/dna/databases/small.csv: -------------------------------------------------------------------------------- 1 | name,AGATC,AATG,TATC 2 | Alice,2,8,3 3 | Bob,4,1,5 4 | Charlie,3,2,5 5 | -------------------------------------------------------------------------------- /week7/lab7/songs/7.sql: -------------------------------------------------------------------------------- 1 | SELECT AVG(energy) FROM songs WHERE artist_id = (SELECT id FROM artists WHERE name = 'Drake') -------------------------------------------------------------------------------- /week9/lab9/birthdays/birthdays.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BurakAhmet/cs50x/main/week9/lab9/birthdays/birthdays.db -------------------------------------------------------------------------------- /week4/Problem Set 4/reverse/reverse: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BurakAhmet/cs50x/main/week4/Problem Set 4/reverse/reverse -------------------------------------------------------------------------------- /week5/Problem Set 5/speller/speller: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BurakAhmet/cs50x/main/week5/Problem Set 5/speller/speller -------------------------------------------------------------------------------- /week5/lab5/inheritance/inheritance: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BurakAhmet/cs50x/main/week5/lab5/inheritance/inheritance -------------------------------------------------------------------------------- /week4/Problem Set 4/filter-more/filter: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BurakAhmet/cs50x/main/week4/Problem Set 4/filter-more/filter -------------------------------------------------------------------------------- /week4/Problem Set 4/reverse/input.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BurakAhmet/cs50x/main/week4/Problem Set 4/reverse/input.wav -------------------------------------------------------------------------------- /week4/Problem Set 4/reverse/output.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BurakAhmet/cs50x/main/week4/Problem Set 4/reverse/output.wav -------------------------------------------------------------------------------- /week5/Problem Set 5/speller/speller.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BurakAhmet/cs50x/main/week5/Problem Set 5/speller/speller.o -------------------------------------------------------------------------------- /week5/Problem Set 5/speller/speller50: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BurakAhmet/cs50x/main/week5/Problem Set 5/speller/speller50 -------------------------------------------------------------------------------- /week9/Problem Set 9/finance/finance.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BurakAhmet/cs50x/main/week9/Problem Set 9/finance/finance.db -------------------------------------------------------------------------------- /week5/Problem Set 5/speller/dictionary.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BurakAhmet/cs50x/main/week5/Problem Set 5/speller/dictionary.o -------------------------------------------------------------------------------- /week7/Problem Set 7/movies/6.sql: -------------------------------------------------------------------------------- 1 | SELECT AVG(rating) FROM ratings 2 | JOIN movies on ratings.movie_id = movies.id 3 | WHERE year = 2012 -------------------------------------------------------------------------------- /week7/Problem Set 7/movies/4.sql: -------------------------------------------------------------------------------- 1 | SELECT COUNT(title) from movies 2 | JOIN ratings on movies.id = ratings.movie_id 3 | WHERE rating = 10.0 -------------------------------------------------------------------------------- /week8/Problem Set 8/homepage/Images/cv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BurakAhmet/cs50x/main/week8/Problem Set 8/homepage/Images/cv.png -------------------------------------------------------------------------------- /week5/Problem Set 5/speller/texts/holmes.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BurakAhmet/cs50x/main/week5/Problem Set 5/speller/texts/holmes.txt -------------------------------------------------------------------------------- /week5/Problem Set 5/speller/texts/xueqin2.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BurakAhmet/cs50x/main/week5/Problem Set 5/speller/texts/xueqin2.txt -------------------------------------------------------------------------------- /week7/Problem Set 7/fiftyville/fiftyville.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BurakAhmet/cs50x/main/week7/Problem Set 7/fiftyville/fiftyville.db -------------------------------------------------------------------------------- /week8/Problem Set 8/homepage/Images/CS50P.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BurakAhmet/cs50x/main/week8/Problem Set 8/homepage/Images/CS50P.png -------------------------------------------------------------------------------- /week8/Problem Set 8/homepage/Images/photo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BurakAhmet/cs50x/main/week8/Problem Set 8/homepage/Images/photo.jpg -------------------------------------------------------------------------------- /week4/Problem Set 4/filter-more/images/blur.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BurakAhmet/cs50x/main/week4/Problem Set 4/filter-more/images/blur.bmp -------------------------------------------------------------------------------- /week4/Problem Set 4/filter-more/images/edges.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BurakAhmet/cs50x/main/week4/Problem Set 4/filter-more/images/edges.bmp -------------------------------------------------------------------------------- /week4/Problem Set 4/filter-more/images/tower.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BurakAhmet/cs50x/main/week4/Problem Set 4/filter-more/images/tower.bmp -------------------------------------------------------------------------------- /week4/Problem Set 4/filter-more/images/yard.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BurakAhmet/cs50x/main/week4/Problem Set 4/filter-more/images/yard.bmp -------------------------------------------------------------------------------- /week7/Problem Set 7/fiftyville/answers.txt: -------------------------------------------------------------------------------- 1 | The THIEF is: Bruce 2 | The city the thief ESCAPED TO: New York City 3 | The ACCOMPLICE is: Robin 4 | -------------------------------------------------------------------------------- /week9/Problem Set 9/finance/static/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BurakAhmet/cs50x/main/week9/Problem Set 9/finance/static/favicon.ico -------------------------------------------------------------------------------- /week4/Problem Set 4/filter-more/images/reflect.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BurakAhmet/cs50x/main/week4/Problem Set 4/filter-more/images/reflect.bmp -------------------------------------------------------------------------------- /week4/Problem Set 4/filter-more/images/stadium.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BurakAhmet/cs50x/main/week4/Problem Set 4/filter-more/images/stadium.bmp -------------------------------------------------------------------------------- /week4/lab4/smiley/helpers.h: -------------------------------------------------------------------------------- 1 | #include "bmp.h" 2 | 3 | // colorize image 4 | void colorize(int height, int width, RGBTRIPLE image[height][width]); 5 | -------------------------------------------------------------------------------- /week4/Problem Set 4/filter-more/images/courtyard.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BurakAhmet/cs50x/main/week4/Problem Set 4/filter-more/images/courtyard.bmp -------------------------------------------------------------------------------- /week4/Problem Set 4/filter-more/images/grayscale.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BurakAhmet/cs50x/main/week4/Problem Set 4/filter-more/images/grayscale.bmp -------------------------------------------------------------------------------- /week8/Problem Set 8/homepage/Images/FirstStepToAI.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BurakAhmet/cs50x/main/week8/Problem Set 8/homepage/Images/FirstStepToAI.png -------------------------------------------------------------------------------- /week8/Problem Set 8/homepage/Images/InformationTech.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BurakAhmet/cs50x/main/week8/Problem Set 8/homepage/Images/InformationTech.png -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # cs50x 2 | Harvard's CS50x problem solutions. 3 | 4 | ![CS50x](https://github.com/BurakAhmet/cs50x/assets/89780902/d5b36de8-5d8e-4d81-97e0-9f92bc10e91f) 5 | -------------------------------------------------------------------------------- /week5/Problem Set 5/speller/keys/cat.txt: -------------------------------------------------------------------------------- 1 | 2 | MISSPELLED WORDS 3 | 4 | 5 | WORDS MISSPELLED: 0 6 | WORDS IN DICTIONARY: 143091 7 | WORDS IN TEXT: 6 8 | -------------------------------------------------------------------------------- /week7/Problem Set 7/movies/7.sql: -------------------------------------------------------------------------------- 1 | SELECT title, rating FROM movies 2 | JOIN ratings on movies.id = ratings.movie_id 3 | WHERE year = 2010 4 | ORDER BY rating DESC, title -------------------------------------------------------------------------------- /week8/Problem Set 8/homepage/Images/JavaBasicCertificate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BurakAhmet/cs50x/main/week8/Problem Set 8/homepage/Images/JavaBasicCertificate.png -------------------------------------------------------------------------------- /week5/Problem Set 5/speller/keys/wordsworth.txt: -------------------------------------------------------------------------------- 1 | 2 | MISSPELLED WORDS 3 | 4 | 5 | WORDS MISSPELLED: 0 6 | WORDS IN DICTIONARY: 143091 7 | WORDS IN TEXT: 158 8 | -------------------------------------------------------------------------------- /week7/Problem Set 7/movies/8.sql: -------------------------------------------------------------------------------- 1 | SELECT name FROM people 2 | JOIN stars ON people.id = stars.person_id 3 | JOIN movies ON stars.movie_id = movies.id 4 | WHERE title = "Toy Story" -------------------------------------------------------------------------------- /week7/Problem Set 7/movies/9.sql: -------------------------------------------------------------------------------- 1 | SELECT DISTINCT name FROM people 2 | JOIN stars ON people.id = stars.person_id 3 | JOIN movies ON stars.movie_id = movies.id 4 | WHERE year = 2004 5 | ORDER BY birth -------------------------------------------------------------------------------- /week7/Problem Set 7/movies/10.sql: -------------------------------------------------------------------------------- 1 | SELECT DISTINCT name FROM people 2 | JOIN directors ON people.id = directors.person_id 3 | JOIN ratings ON directors.movie_id = ratings.movie_id 4 | WHERE rating >= 9.0 -------------------------------------------------------------------------------- /week9/Problem Set 9/finance/flask_session/2029240f6d1128be89ddc32729463129: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BurakAhmet/cs50x/main/week9/Problem Set 9/finance/flask_session/2029240f6d1128be89ddc32729463129 -------------------------------------------------------------------------------- /week9/Problem Set 9/finance/flask_session/a41a7306d402f760b795214211a5887b: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BurakAhmet/cs50x/main/week9/Problem Set 9/finance/flask_session/a41a7306d402f760b795214211a5887b -------------------------------------------------------------------------------- /week5/Problem Set 5/speller/keys/pneumonoultramicroscopicsilicovolcanoconiosis.txt: -------------------------------------------------------------------------------- 1 | 2 | MISSPELLED WORDS 3 | 4 | 5 | WORDS MISSPELLED: 0 6 | WORDS IN DICTIONARY: 143091 7 | WORDS IN TEXT: 20 8 | -------------------------------------------------------------------------------- /week6/Problem Set 6/dna/sequences/1.txt: -------------------------------------------------------------------------------- 1 | AAGGTAAGTTTAGAATATAAAAGGTGAGTTAAATAGAATAGGTTAAAATTAAAGGAGATCAGATCAGATCAGATCTATCTATCTATCTATCTATCAGAAAAGAGTAAATAGTTAAAGAGTAAGATATTGAATTAATGGAAAATATTGTTGGGGAAAGGAGGGATAGAAGG 2 | -------------------------------------------------------------------------------- /week1/Problem Set 1/hello/hello.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | int main(void) 5 | { 6 | string name = get_string("What's your name? "); // take input from user 7 | printf("hello, %s\n", name); // print 8 | } 9 | -------------------------------------------------------------------------------- /week6/Problem Set 6/dna/sequences/4.txt: -------------------------------------------------------------------------------- 1 | GGGGAATATGGTTATTAAGTTAAAGAGAAAGAAAGATGTGGGTGATATTAATGAATGAATGAATGAATGAATGAATGAATGTTATGATAGAAGGATAAAAATTAAATAAAATTTTAGTTAATAGAAAAAGAATATATAGAGATCAGATCTATCTATCTATCTTAAGGAGAGGAAGAGATAAAAAAATATAATTAAGGAA 2 | -------------------------------------------------------------------------------- /week6/Problem Set 6/sentimental-hello/hello.py: -------------------------------------------------------------------------------- 1 | def main(): 2 | # take name from user 3 | name = input("What is your name?\n") 4 | # say hello 5 | print(f"hello, {name}") 6 | 7 | 8 | if __name__ == "__main__": 9 | main() -------------------------------------------------------------------------------- /week4/Problem Set 4/filter-more/Makefile: -------------------------------------------------------------------------------- 1 | filter: 2 | clang -ggdb3 -gdwarf-4 -O0 -Qunused-arguments -std=c11 -Wall -Werror -Wextra -Wno-gnu-folding-constant -Wno-sign-compare -Wno-unused-parameter -Wno-unused-variable -Wshadow -lm -o filter filter.c helpers.c 3 | -------------------------------------------------------------------------------- /week7/Problem Set 7/movies/11.sql: -------------------------------------------------------------------------------- 1 | SELECT title FROM movies 2 | JOIN stars ON movies.id = stars.movie_id 3 | JOIN people ON stars.person_id = people.id 4 | JOIN ratings ON movies.id = ratings.movie_id 5 | WHERE name = "Chadwick Boseman" 6 | ORDER BY rating DESC LIMIT 5 -------------------------------------------------------------------------------- /week4/lab4/smiley/Makefile: -------------------------------------------------------------------------------- 1 | colorize: 2 | clang -fsanitize=signed-integer-overflow -fsanitize=undefined -ggdb3 -O0 -Qunused-arguments -std=c11 -Wall -Werror -Wextra -Wno-sign-compare -Wno-unused-parameter -Wno-unused-variable -Wshadow -o colorize colorize.c helpers.c 3 | -------------------------------------------------------------------------------- /week5/Problem Set 5/speller/texts/pneumonoultramicroscopicsilicovolcanoconiosis.txt: -------------------------------------------------------------------------------- 1 | According to Merriam-Webster's Medical Dictionary, 2 | pneumonoultramicroscopicsilicovolcanoconiosis is a 3 | pneumoconiosis caused by inhalation of very fine 4 | silicate or quartz dust. 5 | -------------------------------------------------------------------------------- /week6/Problem Set 6/dna/sequences/3.txt: -------------------------------------------------------------------------------- 1 | AGAAAGTGATGAGGGAGATAGTTAGGAAAAGGTTAAATTAAATTAAGAAAAATTATCTATCTATCTATCTATCAAGATAGGGAATAATGGAGAAATAAAGAAAGTGGAAAAAGATCAGATCAGATCTTTGGATTAATGGTGTAATAGTTTGGTGATAAAAGAGGTTAAAAAAGTATTAGAAATAAAAGATAAGGAAATGAATGAATGAGGAAGATTAGATTAATTGAATGTTAAAAGTTAA 2 | -------------------------------------------------------------------------------- /week7/Problem Set 7/movies/12.sql: -------------------------------------------------------------------------------- 1 | SELECT title FROM movies 2 | JOIN stars AS s1 ON s1.movie_id = movies.id 3 | JOIN people AS p1 ON p1.id = s1.person_id AND p1.name = "Johnny Depp" 4 | JOIN stars AS s2 ON s2.movie_id = movies.id 5 | JOIN people AS p2 ON p2.id = s2.person_id AND p2.name = "Helena Bonham Carter" -------------------------------------------------------------------------------- /week6/lab6/world-cup/2018m.csv: -------------------------------------------------------------------------------- 1 | team,rating 2 | Uruguay,976 3 | Portugal,1306 4 | France,1166 5 | Argentina,1254 6 | Brazil,1384 7 | Mexico,1008 8 | Belgium,1346 9 | Japan,528 10 | Spain,1162 11 | Russia,493 12 | Croatia,975 13 | Denmark,1054 14 | Sweden,889 15 | Switzerland,1179 16 | Colombia,989 17 | England,1040 18 | -------------------------------------------------------------------------------- /week7/Problem Set 7/movies/13.sql: -------------------------------------------------------------------------------- 1 | SELECT DISTINCT p.name 2 | FROM people AS p 3 | JOIN stars AS s ON s.person_id = p.id 4 | JOIN movies AS m ON m.id = s.movie_id 5 | JOIN stars AS s2 ON s2.movie_id = m.id 6 | JOIN people AS p2 ON p2.id = s2.person_id AND p2.name = "Kevin Bacon" AND p2.birth = 1958 7 | WHERE p.name != "Kevin Bacon" -------------------------------------------------------------------------------- /week9/Problem Set 9/finance/templates/quoted.html: -------------------------------------------------------------------------------- 1 | {% extends "layout.html" %} 2 | 3 | {% block title %} 4 | Quoted 5 | {% endblock %} 6 | 7 | {% block main %} 8 |

Quoted

9 |

Name: {{ name }}

10 |

Price: {{ price }}

11 |

Symbol: {{ symbol }}

12 | {% endblock %} 13 | -------------------------------------------------------------------------------- /week6/lab6/world-cup/2019w.csv: -------------------------------------------------------------------------------- 1 | team,rating 2 | Norway,1915 3 | Australia,2003 4 | England,2049 5 | Cameroon,1499 6 | France,2043 7 | Brazil,1944 8 | Spain,1913 9 | United States,2101 10 | Italy,1868 11 | China PR,1866 12 | Netherlands,1967 13 | Japan,1991 14 | Germany,2072 15 | Nigeria,1599 16 | Sweden,1962 17 | Canada,2006 18 | -------------------------------------------------------------------------------- /week6/Problem Set 6/dna/sequences/2.txt: -------------------------------------------------------------------------------- 1 | CGCAAAGACTTTATTGCGCCCACAGTGGCTTTTGTCTACTGATTCCATAGATAATGACAAATGTTCAAGGGGTTCTGGTACTTAGTCCGATCTCAGTGCGACTCGGGGGCGAACGTCGTGGTTATAAACTCGTCCAGATGCCGGCGCCAAACAAATATGATCCCATTGTGCACCCCCACTGGTCAGAACTCTCGGTGCTTAAGCGATACACGCGTCCGTGAGCATTCAACACCCAACTACTAGTCCGGTAATCTGAATGCACACGTGGCCCGGGTTACCGGGATGCCGAAAGAAAGAAAG 2 | -------------------------------------------------------------------------------- /final-project/templates/apology.html: -------------------------------------------------------------------------------- 1 | {% extends "layout.html" %} 2 | 3 | {% block title %} 4 | Apology 5 | {% endblock %} 6 | 7 | {% block main %} 8 | 9 | {{ top }} 10 | {% endblock %} -------------------------------------------------------------------------------- /week9/Problem Set 9/finance/templates/apology.html: -------------------------------------------------------------------------------- 1 | {% extends "layout.html" %} 2 | 3 | {% block title %} 4 | Apology 5 | {% endblock %} 6 | 7 | {% block main %} 8 | 9 | {{ top }} 10 | {% endblock %} 11 | -------------------------------------------------------------------------------- /week9/Problem Set 9/finance/static/styles.css: -------------------------------------------------------------------------------- 1 | /* Size for brand */ 2 | nav .navbar-brand 3 | { 4 | font-size: xx-large; 5 | } 6 | 7 | /* Colors for brand */ 8 | nav .navbar-brand .blue 9 | { 10 | color: #537fbe; 11 | } 12 | nav .navbar-brand .red 13 | { 14 | color: #ea433b; 15 | } 16 | nav .navbar-brand .yellow 17 | { 18 | color: #f5b82e; 19 | } 20 | nav .navbar-brand .green 21 | { 22 | color: #2e944b; 23 | } 24 | -------------------------------------------------------------------------------- /week4/Problem Set 4/filter-more/helpers.h: -------------------------------------------------------------------------------- 1 | #include "bmp.h" 2 | 3 | // Convert image to grayscale 4 | void grayscale(int height, int width, RGBTRIPLE image[height][width]); 5 | 6 | // Reflect image horizontally 7 | void reflect(int height, int width, RGBTRIPLE image[height][width]); 8 | 9 | // Detect edges 10 | void edges(int height, int width, RGBTRIPLE image[height][width]); 11 | 12 | // Blur image 13 | void blur(int height, int width, RGBTRIPLE image[height][width]); 14 | 15 | -------------------------------------------------------------------------------- /week3/lab3/sort/answers.txt: -------------------------------------------------------------------------------- 1 | sort1 uses: Bubble sort 2 | 3 | How do you know?: Slowest one for reversed arrays and for bubble sort this is the worst case. 4 | 5 | sort2 uses: Merge sort 6 | 7 | How do you know?: this is the fastest sort algorithm for big arrays so it is merge sort. 8 | 9 | sort3 uses: Selection sort 10 | 11 | How do you know?: it is apperant sort1 is bubble sort and sort2 is merge, there is one left and it is selection sort. Also this is better than sort1 in reversed sort 12 | -------------------------------------------------------------------------------- /week5/Problem Set 5/speller/dictionary.h: -------------------------------------------------------------------------------- 1 | // Declares a dictionary's functionality 2 | 3 | #ifndef DICTIONARY_H 4 | #define DICTIONARY_H 5 | 6 | #include 7 | 8 | // Maximum length for a word 9 | // (e.g., pneumonoultramicroscopicsilicovolcanoconiosis) 10 | #define LENGTH 45 11 | 12 | // Prototypes 13 | bool check(const char *word); 14 | unsigned int hash(const char *word); 15 | bool load(const char *dictionary); 16 | unsigned int size(void); 17 | bool unload(void); 18 | 19 | #endif // DICTIONARY_H 20 | -------------------------------------------------------------------------------- /week9/Problem Set 9/finance/templates/quote.html: -------------------------------------------------------------------------------- 1 | {% extends "layout.html" %} 2 | 3 | {% block title %} 4 | Quote 5 | {% endblock %} 6 | 7 | {% block main %} 8 |

Quote

9 |
10 |
11 | 12 |
13 | 14 |
15 | {% endblock %} 16 | -------------------------------------------------------------------------------- /week5/Problem Set 5/speller/keys/constitution.txt: -------------------------------------------------------------------------------- 1 | 2 | MISSPELLED WORDS 3 | 4 | USConstitution 5 | http 6 | usconstitution 7 | const 8 | html 9 | tempore 10 | Impeachments 11 | Nays 12 | Nays 13 | repassed 14 | Piracies 15 | Felonies 16 | attainted 17 | Langdon 18 | Gilman 19 | Brearley 20 | Mifflin 21 | Clymer 22 | Fitzsimons 23 | Jared 24 | Gouvernour 25 | McHenry 26 | Jenifer 27 | Blount 28 | Spaight 29 | Cotesworth 30 | tempore 31 | tempore 32 | tempore 33 | tempore 34 | 35 | WORDS MISSPELLED: 30 36 | WORDS IN DICTIONARY: 143091 37 | WORDS IN TEXT: 7573 38 | -------------------------------------------------------------------------------- /week6/Problem Set 6/sentimental-mario-more/mario.py: -------------------------------------------------------------------------------- 1 | def main(): 2 | # take height in int format from the user 3 | while True: 4 | try: 5 | height = int(input("Height: ")) 6 | if 9 > height > 0: 7 | break 8 | except ValueError: 9 | pass 10 | 11 | # print 12 | for i in range(height): 13 | print(" " * (height - 1 - i), end="") 14 | print("#" * (i + 1), end="") 15 | print(" ", end="") 16 | print("#" * (i + 1)) 17 | 18 | 19 | if __name__ == "__main__": 20 | main() -------------------------------------------------------------------------------- /week8/Problem Set 8/homepage/script.js: -------------------------------------------------------------------------------- 1 | document.addEventListener("DOMContentLoaded", function() { 2 | let headerDivs = document.querySelectorAll(".headerDiv"); 3 | for (let i = 0; i < headerDivs.length; ++i) 4 | { 5 | headerDivs[i].addEventListener("click", function() { 6 | if (headerDivs[i].style.backgroundColor === "lightgreen") 7 | { 8 | headerDivs[i].style.backgroundColor = "lightgray"; 9 | } 10 | else 11 | { 12 | headerDivs[i].style.backgroundColor = "lightgreen"; 13 | } 14 | }) 15 | } 16 | }); -------------------------------------------------------------------------------- /week4/lab4/smiley/helpers.c: -------------------------------------------------------------------------------- 1 | #include "helpers.h" 2 | 3 | void colorize(int height, int width, RGBTRIPLE image[height][width]) 4 | { 5 | // Change all black pixels to a color of your choosing 6 | for (int i = 0; i < height; ++i) 7 | { 8 | for (int j = 0; j < width; ++j) 9 | { 10 | if (image[i][j].rgbtRed == 0x00 && image[i][j].rgbtGreen == 0x00 && image[i][j].rgbtBlue == 0x00) // if black 11 | { 12 | image[i][j].rgbtRed = 0xf0; 13 | image[i][j].rgbtGreen = 0x0f; 14 | image[i][j].rgbtBlue = 0x99; 15 | } 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /week5/Problem Set 5/speller/Makefile: -------------------------------------------------------------------------------- 1 | speller: 2 | clang -ggdb3 -gdwarf-4 -O0 -Qunused-arguments -std=c11 -Wall -Werror -Wextra -Wno-gnu-folding-constant -Wno-sign-compare -Wno-unused-parameter -Wno-unused-variable -Wshadow -c -o speller.o speller.c 3 | clang -ggdb3 -gdwarf-4 -O0 -Qunused-arguments -std=c11 -Wall -Werror -Wextra -Wno-gnu-folding-constant -Wno-sign-compare -Wno-unused-parameter -Wno-unused-variable -Wshadow -c -o dictionary.o dictionary.c 4 | clang -ggdb3 -gdwarf-4 -O0 -Qunused-arguments -std=c11 -Wall -Werror -Wextra -Wno-gnu-folding-constant -Wno-sign-compare -Wno-unused-parameter -Wno-unused-variable -Wshadow -o speller speller.o dictionary.o -lm 5 | -------------------------------------------------------------------------------- /week9/Problem Set 9/finance/templates/login.html: -------------------------------------------------------------------------------- 1 | {% extends "layout.html" %} 2 | 3 | {% block title %} 4 | Log In 5 | {% endblock %} 6 | 7 | {% block main %} 8 |
9 |
10 | 11 |
12 |
13 | 14 |
15 | 16 |
17 | {% endblock %} 18 | -------------------------------------------------------------------------------- /week9/Problem Set 9/finance/templates/buy.html: -------------------------------------------------------------------------------- 1 | {% extends "layout.html" %} 2 | 3 | {% block title %} 4 | Buy 5 | {% endblock %} 6 | 7 | {% block main %} 8 |

Buy

9 |
10 |
11 | 12 |
13 |
14 | 15 |
16 | 17 |
18 | {% endblock %} 19 | -------------------------------------------------------------------------------- /week7/Problem Set 7/fiftyville/log.sql: -------------------------------------------------------------------------------- 1 | -- Keep a log of any SQL queries you execute as you solve the mystery. 2 | SELECT * FROM crime_scene_reports WHERE day = 28 AND street = "Humphrey Street"; -- crime 3 | SELECT transcript FROM interviews WHERE day = 28 AND month = 7; 4 | SELECT * FROM phone_calls WHERE month = 7 AND day = 28 AND duration < 60;, -- "called someone and talked less ten a minute" 5 | SELECT full_name, city FROM airports WHERE id = 4; 6 | -- "Sometime within ten minutes of the theft, I saw the thief get into a car in the bakery parking lot and drive away." 7 | -- "the thief there withdrawing some money on Leggett Street." 8 | -- "they were planning to take the earliest flight out of Fiftyville tomorrow." 9 | -------------------------------------------------------------------------------- /week7/lab7/songs/answers.txt: -------------------------------------------------------------------------------- 1 | If songs.db contains the top 100 songs of one listener from 2018, how would you characterize their audio aura? 2 | Answer: There is a lot of high energy songs in this list. I think there is always energetic songs is majority lists like this. 3 | 4 | 5 | Hypothesize about why the way you’ve calculated this aura might not be very representative of the listener. 6 | What better ways of calculating this aura would you propose? 7 | Answer: I calculated the average energy of the songs so this might be a problem because it can be there is no song energy with equal that average energy. 8 | Some songs can be much more energetic and somes are almost 0 energy. This is the side effect of calculating the average -------------------------------------------------------------------------------- /final-project/templates/admin_login.html: -------------------------------------------------------------------------------- 1 | {% extends "layout.html" %} 2 | 3 | {% block title %} 4 | Admin Login 5 | {% endblock %} 6 | 7 | {% block main %} 8 |

Admin Login

9 |
10 |
11 | 12 |
13 |
14 | 15 |
16 | 17 |
18 | {% endblock %} -------------------------------------------------------------------------------- /final-project/templates/index.html: -------------------------------------------------------------------------------- 1 | {% extends "layout.html" %} 2 | 3 | {% block title %} 4 | Inquire Ticket 5 | {% endblock %} 6 | 7 | {% block main %} 8 |

Inquire Ticket

9 |
10 |
11 | 12 |
13 |
14 | 15 |
16 | 17 |
18 | {% endblock %} -------------------------------------------------------------------------------- /week8/Problem Set 8/homepage/informationtech.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | CS50P Certificate 5 | 6 | 7 | 8 | 9 | 17 | 18 | -------------------------------------------------------------------------------- /week8/Problem Set 8/homepage/firststeptoai.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | CS50P Certificate 5 | 6 | 7 | 8 | 9 | 17 | 18 | -------------------------------------------------------------------------------- /week1/lab1/population/population.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | 5 | int main(void) 6 | { 7 | int startSize; 8 | int endSize; 9 | int year = 0; 10 | do 11 | { 12 | startSize = get_int("Start size: "); 13 | } 14 | while (startSize < 9); // Start size can not be less than 9 15 | do 16 | { 17 | endSize = get_int("End size: "); 18 | } 19 | while (startSize > endSize); // End size can not be less than start size 20 | 21 | while(endSize > startSize) 22 | { 23 | year++; // increase year per loop 24 | int temp = startSize; 25 | startSize += startSize / 3; 26 | startSize -= temp / 4; 27 | } 28 | printf("Years: %d\n", year); 29 | } 30 | -------------------------------------------------------------------------------- /week6/lab6/world-cup/answers.txt: -------------------------------------------------------------------------------- 1 | Times: 2 | 3 | 10 simulations: 0m0.025s 4 | 100 simulations: 0m0.027s 5 | 1000 simulations: 0m0.032s 6 | 10000 simulations: 0m0.096s 7 | 100000 simulations: 0m0.767s 8 | 1000000 simulations: 0m7.362s 9 | 10 | Questions: 11 | 12 | Which predictions, if any, proved incorrect as you increased the number of simulations?: 13 | 14 | With a small number of simulations I expected small values and I was right but I didn't expect exponential time increase with bigger values 15 | 16 | Suppose you're charged a fee for each second of compute time your program uses. 17 | After how many simulations would you call the predictions "good enough"?: 18 | 19 | It seems like the predictions stabilized after about 1000000 it seems more but I want more certainty -------------------------------------------------------------------------------- /week8/Problem Set 8/homepage/cs50p.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | CS50P Certificate 5 | 6 | 7 | 8 | 9 | 17 | 18 | -------------------------------------------------------------------------------- /week8/Problem Set 8/homepage/javabasic.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | CS50P Certificate 5 | 6 | 7 | 8 | 9 | 17 | 18 | -------------------------------------------------------------------------------- /week9/Problem Set 9/finance/templates/sell.html: -------------------------------------------------------------------------------- 1 | {% extends "layout.html" %} 2 | 3 | {% block title %} 4 | Sell 5 | {% endblock %} 6 | 7 | {% block main %} 8 |

Sell

9 |
10 |
11 | 16 |
17 |
18 | 19 |
20 | 21 |
22 | {% endblock %} -------------------------------------------------------------------------------- /week8/Problem Set 8/homepage/style.css: -------------------------------------------------------------------------------- 1 | body { 2 | background-color: azure; 3 | font-family: Arial; 4 | } 5 | 6 | .mainSection { 7 | margin-left: 20%; 8 | width: 60%; 9 | padding: 10px; 10 | } 11 | 12 | .myPhoto { 13 | border: 3px solid; 14 | width: 25%; 15 | height: 35%; 16 | float: right; 17 | } 18 | 19 | .headerDiv { 20 | background-color: lightgray; 21 | width: 100%; 22 | height: 30px; 23 | } 24 | 25 | .header { 26 | display: flex; 27 | align-items: center; 28 | justify-content: space-between; 29 | height: 100%; 30 | padding-left: 20px; 31 | } 32 | 33 | li { 34 | list-style-type: none; 35 | font-size: medium; 36 | } 37 | 38 | .fa-angle-down{ 39 | margin-right: 10px; 40 | } -------------------------------------------------------------------------------- /week6/Problem Set 6/dna/databases/large.csv: -------------------------------------------------------------------------------- 1 | name,AGATC,TTTTTTCT,AATG,TCTAG,GATA,TATC,GAAA,TCTG 2 | Albus,15,49,38,5,14,44,14,12 3 | Cedric,31,21,41,28,30,9,36,44 4 | Draco,9,13,8,26,15,25,41,39 5 | Fred,37,40,10,6,5,10,28,8 6 | Ginny,37,47,10,23,5,48,28,23 7 | Hagrid,25,38,45,49,39,18,42,30 8 | Harry,46,49,48,29,15,5,28,40 9 | Hermione,43,31,18,25,26,47,31,36 10 | James,46,41,38,29,15,5,48,22 11 | Kingsley,7,11,18,33,39,31,23,14 12 | Lavender,22,33,43,12,26,18,47,41 13 | Lily,42,47,48,18,35,46,48,50 14 | Lucius,9,13,33,26,45,11,36,39 15 | Luna,18,23,35,13,11,19,14,24 16 | Minerva,17,49,18,7,6,18,17,30 17 | Neville,14,44,28,27,19,7,25,20 18 | Petunia,29,29,40,31,45,20,40,35 19 | Remus,6,18,5,42,39,28,44,22 20 | Ron,37,47,13,25,17,6,13,35 21 | Severus,29,27,32,41,6,27,8,34 22 | Sirius,31,11,28,26,35,19,33,6 23 | Vernon,26,45,34,50,44,30,32,28 24 | Zacharias,29,50,18,23,38,24,22,9 25 | -------------------------------------------------------------------------------- /week9/Problem Set 9/finance/templates/history.html: -------------------------------------------------------------------------------- 1 | {% extends "layout.html" %} 2 | 3 | {% block title %} 4 | History 5 | {% endblock %} 6 | 7 | {% block main %} 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | {% for row in transaction %} 19 | 20 | 21 | 22 | 23 | 24 | 25 | {% endfor %} 26 | 27 |
SymbolSharesPriceDate
{{ row["symbol"] }}{{ row["shares"] }}${{ row["price"] }}{{ row["date"] }}
28 | {% endblock %} -------------------------------------------------------------------------------- /week9/Problem Set 9/finance/templates/register.html: -------------------------------------------------------------------------------- 1 | {% extends "layout.html" %} 2 | 3 | {% block title %} 4 | Register 5 | {% endblock %} 6 | 7 | {% block main %} 8 |
9 |
10 | 11 |
12 |
13 | 14 |
15 |
16 | 17 |
18 | 19 |
20 | {% endblock %} 21 | -------------------------------------------------------------------------------- /week9/Problem Set 9/finance/templates/change_password.html: -------------------------------------------------------------------------------- 1 | {% extends "layout.html" %} 2 | 3 | {% block title %} 4 | Change Password 5 | {% endblock %} 6 | 7 | {% block main %} 8 |
9 |
10 | 11 |
12 |
13 | 14 |
15 |
16 | 17 |
18 | 19 |
20 | {% endblock %} 21 | -------------------------------------------------------------------------------- /final-project/templates/inquire_bought_ticket.html: -------------------------------------------------------------------------------- 1 | {% extends "layout.html" %} 2 | 3 | {% block title %} 4 | Inquire Ticket 5 | {% endblock %} 6 | 7 | {% block main %} 8 | 9 |
10 |
11 | 12 |
13 |
14 | 15 |
16 |
17 | 18 |
19 | 20 |
21 | 22 | {% endblock %} -------------------------------------------------------------------------------- /week6/Problem Set 6/sentimental-readability/readability.py: -------------------------------------------------------------------------------- 1 | def main(): 2 | text = input("Text: ") 3 | letter_count = 0 4 | word_count = 1 5 | sentence_count = 0 6 | length = len(text) 7 | for i in range(length): 8 | c = text[i] 9 | if c.isalpha(): 10 | letter_count += 1 11 | elif c.isspace(): 12 | word_count += 1 13 | elif c == "." or c == "!" or c == "?": 14 | sentence_count += 1 15 | calculate_grade(letter_count, word_count, sentence_count) 16 | 17 | 18 | def calculate_grade(letter_count, word_count, sentence_count): 19 | L = letter_count / word_count * 100 20 | S = sentence_count / word_count * 100 21 | index = round(0.0588 * L - 0.296 * S - 15.8) 22 | if index < 1: 23 | print("Before Grade 1") 24 | elif index > 16: 25 | print("Grade 16+") 26 | else: 27 | print(f"Grade {index}") 28 | 29 | 30 | if __name__ == "__main__": 31 | main() -------------------------------------------------------------------------------- /final-project/templates/buy.html: -------------------------------------------------------------------------------- 1 | {% extends "layout.html" %} 2 | 3 | {% block title %} 4 | Buy 5 | {% endblock %} 6 | 7 | {% block main %} 8 |

Buy

9 |
10 |
11 | 12 |
13 |
14 | 15 |
16 |
17 | 18 |
19 |
20 | 21 |
22 | 23 |
24 | {% endblock %} -------------------------------------------------------------------------------- /week5/Problem Set 5/speller/texts/wordsworth.txt: -------------------------------------------------------------------------------- 1 | Daffodils 2 | 3 | I wandered lonely as a cloud 4 | That floats on high o'er vales and hills, 5 | When all at once I saw a crowd, 6 | A host, of golden daffodils; 7 | Beside the lake, beneath the trees, 8 | Fluttering and dancing in the breeze. 9 | 10 | Continuous as the stars that shine 11 | And twinkle on the milky way, 12 | They stretched in never-ending line 13 | Along the margin of a bay: 14 | Ten thousand saw I at a glance, 15 | Tossing their heads in sprightly dance. 16 | 17 | The waves beside them danced; but they 18 | Out-did the sparkling waves in glee: 19 | A poet could not but be gay, 20 | In such a jocund company: 21 | I gazed--and gazed--but little thought 22 | What wealth the show to me had brought: 23 | 24 | For oft, when on my couch I lie 25 | In vacant or in pensive mood, 26 | They flash upon that inward eye 27 | Which is the bliss of solitude; 28 | And then my heart with pleasure fills, 29 | And dances with the daffodils. 30 | 31 | -- William Wordsworth 32 | 33 | -------------------------------------------------------------------------------- /week1/Problem Set 1/mario-more/mario.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | 5 | void pyramid(int height); 6 | 7 | 8 | int main(void) 9 | { 10 | int height; 11 | do 12 | { 13 | height = get_int("Height: "); // get height 14 | } 15 | while (height < 1 || height > 8); // 0 < height < 9 16 | 17 | pyramid(height); // call the function to print the pyramid 18 | } 19 | 20 | 21 | void pyramid(int height) 22 | { 23 | for (int i = 1; i < height + 1; ++i) 24 | { 25 | // fill with spaces first 26 | for (int j = i; j < height; ++j) 27 | { 28 | printf(" "); 29 | } 30 | // then add # 31 | for (int j = height - i; j < height; ++j) 32 | { 33 | printf("#"); 34 | } 35 | // middle space 36 | printf(" "); 37 | // second half of pyramid 38 | for (int j = height - i; j < height; ++j) 39 | { 40 | printf("#"); 41 | } 42 | // for go to next line 43 | printf("\n"); 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /week4/Problem Set 4/reverse/wav.h: -------------------------------------------------------------------------------- 1 | // BMP-related data types based on Microsoft's own 2 | 3 | #include 4 | 5 | // These data types are essentially aliases for C/C++ primitive data types. 6 | // Adapted from http://msdn.microsoft.com/en-us/library/cc230309.aspx. 7 | // See https://en.wikipedia.org/wiki/C_data_types#stdint.h for more on stdint.h. 8 | 9 | typedef uint8_t BYTE; 10 | typedef uint16_t WORD; 11 | typedef uint32_t DWORD; 12 | 13 | // The WAVHEADER structure contains information about the type, size, 14 | // and layout of a file that contains audio samples. 15 | // Adapted from http://soundfile.sapp.org/doc/WaveFormat/. 16 | 17 | typedef struct 18 | { 19 | BYTE chunkID[4]; 20 | DWORD chunkSize; 21 | BYTE format[4]; 22 | BYTE subchunk1ID[4]; 23 | DWORD subchunk1Size; 24 | WORD audioFormat; 25 | WORD numChannels; 26 | DWORD sampleRate; 27 | DWORD byteRate; 28 | WORD blockAlign; 29 | WORD bitsPerSample; 30 | BYTE subchunk2ID[4]; 31 | DWORD subchunk2Size; 32 | } __attribute__((__packed__)) 33 | WAVHEADER; -------------------------------------------------------------------------------- /week9/Problem Set 9/finance/templates/index.html: -------------------------------------------------------------------------------- 1 | {% extends "layout.html" %} 2 | 3 | {% block title %} 4 | Portfolio 5 | {% endblock %} 6 | 7 | {% block main %} 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | {% for row in database %} 19 | 20 | 21 | 22 | 23 | 24 | 25 | {% endfor %} 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 |
SymbolSharesPriceTOTAL
{{ row["symbol"] }}{{ row["shares"] }}${{ row["price"] }}{{ row["TOTAL"] }}
Total Amount${{ cash }}
36 | {% endblock %} -------------------------------------------------------------------------------- /final-project/helpers.py: -------------------------------------------------------------------------------- 1 | from flask import redirect, render_template, session 2 | from functools import wraps 3 | 4 | 5 | def apology(message, code=400): 6 | """Render message as an apology to user.""" 7 | def escape(s): 8 | """ 9 | Escape special characters. 10 | 11 | https://github.com/jacebrowning/memegen#special-characters 12 | """ 13 | for old, new in [("-", "--"), (" ", "-"), ("_", "__"), ("?", "~q"), 14 | ("%", "~p"), ("#", "~h"), ("/", "~s"), ("\"", "''")]: 15 | s = s.replace(old, new) 16 | return s 17 | return render_template("apology.html", top=code, bottom=escape(message)), code 18 | 19 | 20 | def login_required(f): 21 | """ 22 | Decorate routes to require login. 23 | 24 | https://flask.palletsprojects.com/en/1.1.x/patterns/viewdecorators/ 25 | """ 26 | @wraps(f) 27 | def decorated_function(*args, **kwargs): 28 | if not session.get("admin_logged_in"): 29 | return redirect("/admin_login") 30 | return f(*args, **kwargs) 31 | return decorated_function 32 | -------------------------------------------------------------------------------- /week6/Problem Set 6/sentimental-credit/credit.py: -------------------------------------------------------------------------------- 1 | def main(): 2 | while True: 3 | try: 4 | number = int(input("Number: ")) 5 | if number > 0: 6 | break 7 | except ValueError: 8 | pass 9 | 10 | if is_valid(number): 11 | card_type(number) 12 | else: 13 | print("INVALID") 14 | 15 | 16 | def is_valid(number): 17 | total = 0 18 | i = 0 19 | while number > 0: 20 | remainder = number % 10 21 | if i % 2 == 0: 22 | total += remainder 23 | else: 24 | n = remainder * 2 25 | total += n % 10 + n // 10 26 | number //= 10 27 | i += 1 28 | return total % 10 == 0 29 | 30 | 31 | def card_type(number): 32 | number = str(number) 33 | first_digit = int(number[0]) 34 | second_digit = int(number[1]) 35 | if len(number) < 13 or 16 < len(number): 36 | print("INVALID") 37 | elif first_digit == 3 and second_digit == 4 or second_digit == 7: 38 | print("AMEX") 39 | elif first_digit == 5 and 1 <= second_digit <= 5: 40 | print("MASTERCARD") 41 | elif first_digit == 4: 42 | print("VISA") 43 | else: 44 | print("INVALID") 45 | 46 | 47 | if __name__ == "__main__": 48 | main() -------------------------------------------------------------------------------- /final-project/templates/update_vehicle.html: -------------------------------------------------------------------------------- 1 | {% extends "layout.html" %} 2 | 3 | {% block title %} 4 | Update Vehicle 5 | {% endblock %} 6 | 7 | {% block main %} 8 |

Update Vehicle

9 | 10 | 11 |
12 | 13 |
14 | 15 | 16 |
17 |
18 | 19 | 20 |
21 |
22 | 23 | 24 |
25 | 26 |
27 | {% endblock %} 28 | -------------------------------------------------------------------------------- /week9/lab9/birthdays/app.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | from cs50 import SQL 4 | from flask import Flask, flash, jsonify, redirect, render_template, request, session 5 | 6 | # Configure application 7 | app = Flask(__name__) 8 | 9 | # Ensure templates are auto-reloaded 10 | app.config["TEMPLATES_AUTO_RELOAD"] = True 11 | 12 | # Configure CS50 Library to use SQLite database 13 | db = SQL("sqlite:///birthdays.db") 14 | 15 | 16 | @app.after_request 17 | def after_request(response): 18 | """Ensure responses aren't cached""" 19 | response.headers["Cache-Control"] = "no-cache, no-store, must-revalidate" 20 | response.headers["Expires"] = 0 21 | response.headers["Pragma"] = "no-cache" 22 | return response 23 | 24 | 25 | @app.route("/", methods=["GET", "POST"]) 26 | def index(): 27 | if request.method == "POST": 28 | 29 | # TODO: Add the user's entry into the database 30 | name = request.form.get("name") 31 | month = request.form.get("month") 32 | day = request.form.get("day") 33 | 34 | db.execute("INSERT INTO birthdays (name, month, day) VALUES(?, ?, ?)", name, month, day) 35 | 36 | return redirect("/") 37 | 38 | else: 39 | 40 | birthdays = db.execute("SELECT * FROM birthdays") 41 | 42 | return render_template("index.html", birthdays=birthdays) 43 | 44 | 45 | -------------------------------------------------------------------------------- /final-project/templates/all_vehicles.html: -------------------------------------------------------------------------------- 1 | {% extends "layout.html" %} 2 | 3 | {% block title %} 4 | All Vehicles 5 | {% endblock %} 6 | 7 | {% block main %} 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | {% for vehicle in vehicles %} 19 | 20 | 21 | 22 | 23 | 24 | 30 | 31 | {% endfor %} 32 | 33 |
Vehicle IDVehicle TypePassenger CapacityRoute ID
{{ vehicle[0] }}{{ vehicle[1] }}{{ vehicle[2] }}{{ vehicle[3] }} 25 |
26 | 27 | 28 |
29 |
34 | {% endblock %} -------------------------------------------------------------------------------- /final-project/templates/available_tickets.html: -------------------------------------------------------------------------------- 1 | {% extends "layout.html" %} 2 | 3 | {% block title %} 4 | Tickets 5 | {% endblock %} 6 | 7 | {% block main %} 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | {% for row in places %} 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 33 | 34 | {% endfor %} 35 | 36 |
Starting StationDestinationTime Of JourneyDatePriceVehicle
{{ row[1] }}{{ row[2] }}{{ row[4] }}{{ row[3] }}{{ row[5] }}{{ row[6] }} 29 |
30 | 31 |
32 |
37 | {% endblock %} -------------------------------------------------------------------------------- /week2/lab2/scrabble/scrabble.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | 6 | // Points assigned to each letter of the alphabet 7 | int POINTS[] = {1, 3, 3, 2, 1, 4, 2, 4, 1, 8, 5, 1, 3, 1, 1, 3, 10, 1, 1, 1, 1, 4, 4, 8, 4, 10}; 8 | 9 | int compute_score(string word); 10 | 11 | int main(void) 12 | { 13 | // Get input words from both players 14 | string word1 = get_string("Player 1: "); 15 | string word2 = get_string("Player 2: "); 16 | 17 | // Score both words 18 | int score1 = compute_score(word1); 19 | int score2 = compute_score(word2); 20 | 21 | if (score1 > score2) 22 | { 23 | printf("Player 1 wins!\n"); 24 | } 25 | else if (score2 > score1) 26 | { 27 | printf("Player 2 wins!\n"); 28 | } 29 | else 30 | { 31 | printf("Tie!\n"); 32 | } 33 | } 34 | 35 | int compute_score(string word) 36 | { 37 | int score = 0; 38 | for (int i = 0; i < strlen(word); ++i) 39 | { 40 | char c = word[i]; 41 | if (isupper(c)) 42 | { 43 | score += POINTS[c - 65]; // if c is lower then subtract 65 according to ascii table 44 | } 45 | else if (islower(c)) 46 | { 47 | score += POINTS[c - 97]; // if c is lower then subtract 97 according to ascii table 48 | } 49 | } 50 | return score; 51 | } 52 | -------------------------------------------------------------------------------- /week4/lab4/volume/volume.c: -------------------------------------------------------------------------------- 1 | // Modifies the volume of an audio file 2 | 3 | #include 4 | #include 5 | #include 6 | 7 | // Number of bytes in .wav header 8 | const int HEADER_SIZE = 44; 9 | 10 | int main(int argc, char *argv[]) 11 | { 12 | // Check command-line arguments 13 | if (argc != 4) 14 | { 15 | printf("Usage: ./volume input.wav output.wav factor\n"); 16 | return 1; 17 | } 18 | 19 | // Open files and determine scaling factor 20 | FILE *input = fopen(argv[1], "r"); 21 | if (input == NULL) 22 | { 23 | printf("Could not open file.\n"); 24 | return 1; 25 | } 26 | 27 | FILE *output = fopen(argv[2], "w"); 28 | if (output == NULL) 29 | { 30 | printf("Could not open file.\n"); 31 | return 1; 32 | } 33 | 34 | float factor = atof(argv[3]); 35 | 36 | // Copy header from input file to output file 37 | uint8_t header[HEADER_SIZE]; 38 | fread(header, HEADER_SIZE, 1, input); 39 | fwrite(header, HEADER_SIZE, 1, output); 40 | 41 | // Read samples from input file and write updated data to output file 42 | int16_t buffer; 43 | while (fread(&buffer, sizeof(int16_t), 1, input)) 44 | { 45 | // Update volume 46 | buffer *= factor; 47 | fwrite(&buffer, sizeof(int16_t), 1, output); 48 | } 49 | 50 | // Close files 51 | fclose(input); 52 | fclose(output); 53 | } 54 | -------------------------------------------------------------------------------- /final-project/templates/edit_vehicle.html: -------------------------------------------------------------------------------- 1 | {% extends "layout.html" %} 2 | 3 | {% block title %} 4 | Admin Panel 5 | {% endblock %} 6 | 7 | {% block main %} 8 |

Admin Panel

9 | 10 |

11 | 12 | 13 |

Add Vehicle

14 |
15 |
16 | 17 | 18 |
19 |
20 | 21 | 22 |
23 |
24 | 25 | 26 |
27 | 28 |
29 |

30 | 31 | 32 |

Update And Delete Vehicle

33 |
34 | 35 |
36 | {% endblock %} 37 | -------------------------------------------------------------------------------- /week8/lab8/trivia/styles.css: -------------------------------------------------------------------------------- 1 | body { 2 | background-color: #fff; 3 | color: #212529; 4 | font-size: 1rem; 5 | font-weight: 400; 6 | line-height: 1.5; 7 | margin: 0; 8 | text-align: left; 9 | } 10 | 11 | .container { 12 | margin-left: auto; 13 | margin-right: auto; 14 | padding-left: 15px; 15 | padding-right: 15px; 16 | } 17 | 18 | .header { 19 | background-color: #477bff; 20 | color: #fff; 21 | margin-bottom: 2rem; 22 | padding: 2rem 1rem; 23 | text-align: center; 24 | } 25 | 26 | .section { 27 | padding: 0.5rem 2rem 1rem 2rem; 28 | } 29 | 30 | .section:hover { 31 | background-color: #f5f5f5; 32 | transition: color 2s ease-in-out, background-color 0.15s ease-in-out; 33 | } 34 | 35 | h1 { 36 | font-family: 'Montserrat', sans-serif; 37 | font-size: 48px; 38 | } 39 | 40 | button, input[type="submit"] { 41 | background-color: #d9edff; 42 | border: 1px solid transparent; 43 | border-radius: 0.25rem; 44 | font-size: 0.95rem; 45 | font-weight: 400; 46 | line-height: 1.5; 47 | padding: 0.375rem 0.75rem; 48 | text-align: center; 49 | transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; 50 | vertical-align: middle; 51 | } 52 | 53 | 54 | input[type="text"] { 55 | line-height: 1.8; 56 | width: 25%; 57 | } 58 | 59 | input[type="text"]:hover { 60 | background-color: #f5f5f5; 61 | transition: color 2s ease-in-out, background-color 0.15s ease-in-out; 62 | } 63 | -------------------------------------------------------------------------------- /week2/Problem Set 2/readability/readability.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include 6 | 7 | 8 | void calculate_grade(int num_letter, int num_word, int num_sentence); 9 | 10 | 11 | int main(void) 12 | { 13 | string txt = get_string("Text: "); 14 | 15 | int num_letter = 0; 16 | int num_word = 1; // blank + 1. 17 | int num_sentence = 0; 18 | int len = strlen(txt); 19 | for (int i = 0; i < len; ++i) 20 | { 21 | char c = txt[i]; 22 | if (isalpha(c)) 23 | { 24 | num_letter++; 25 | } 26 | if (isblank(c)) 27 | { 28 | num_word++; 29 | } 30 | if (c == '.' || c == '!' || c == '?') // only these characters finishes a sentence. 31 | { 32 | num_sentence++; 33 | } 34 | } 35 | 36 | calculate_grade(num_letter, num_word, num_sentence); 37 | } 38 | 39 | 40 | void calculate_grade(int num_letter, int num_word, int num_sentence) 41 | { 42 | double L = num_letter / (double) num_word * 100; // L is the average number of letters per 100 words in the text. 43 | double S = num_sentence / (double) num_word * 100; // S is the average number of sentences per 100 words in the text. 44 | int index = round(0.0588 * L - 0.296 * S - 15.8); // the formula for grade. 45 | if (index < 1) 46 | { 47 | printf("Before Grade 1\n"); 48 | } 49 | else if (index > 16) 50 | { 51 | printf("Grade 16+\n"); 52 | } 53 | else 54 | { 55 | printf("Grade %d\n", index); 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /final-project/templates/all_tickets.html: -------------------------------------------------------------------------------- 1 | {% extends "layout.html" %} 2 | 3 | {% block title %} 4 | All Tickets 5 | {% endblock %} 6 | 7 | {% block main %} 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | {% for route in routes %} 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 36 | 37 | {% endfor %} 38 | 39 |
Route IDStarting StationDestinationDateTime Of JourneyPriceVehicle ID
{{ route[0] }}{{ route[1] }}{{ route[2] }}{{ route[3] }}{{ route[4] }}{{ route[5] }}{{ route[6] }} 31 |
32 | 33 | 34 |
35 |
40 | {% endblock %} -------------------------------------------------------------------------------- /final-project/templates/bought_tickets.html: -------------------------------------------------------------------------------- 1 | {% extends "layout.html" %} 2 | 3 | {% block title %} 4 | My Tickets 5 | {% endblock %} 6 | 7 | {% block main %} 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | {% for row in ticket_infos %} 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 36 | 37 | {% endfor %} 38 | 39 |
NAMETC NOPHONE NUMBERSTARTING STATIONDESTINATIONDATE
{{ row[1] }}{{ row[2] }}{{ row[3] }}{{ row[4] }}{{ row[5] }}{{ row[6] }} 29 |
30 | 31 | 32 | 33 | 34 |
35 |
40 | {% endblock %} -------------------------------------------------------------------------------- /week1/Problem Set 1/credit/credit.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | 5 | bool isValid(long number); 6 | void cardType(long number); 7 | 8 | 9 | int main(void) 10 | { 11 | long number; 12 | do 13 | { 14 | number = get_long("Number: "); 15 | } 16 | while (number < 0); // get number until valid 17 | 18 | if (isValid(number)) // if card number is valid then print card type 19 | { 20 | cardType(number); 21 | } 22 | else 23 | { 24 | printf("INVALID\n"); 25 | } 26 | 27 | } 28 | 29 | 30 | bool isValid(long number) 31 | { 32 | int total = 0; 33 | for (int i = 0; number > 0; ++i, number /= 10) // prune off the number in every loop 34 | { 35 | int remainder = number % 10; // take last digit 36 | if (i % 2 == 0) 37 | { 38 | total += remainder; // if i is even just add it straight 39 | } 40 | else 41 | { 42 | int n = remainder * 2; // apply formula 43 | total += n % 10 + n / 10; 44 | } 45 | } 46 | return total % 10 == 0; // if last digit equals zero then legit 47 | } 48 | 49 | 50 | void cardType(long number) 51 | { 52 | if ((number >= 34e13 && number < 35e13) || (number >= 37e13 && number < 38e13)) // condition for amerikanexpress 53 | { 54 | printf("AMEX\n"); 55 | } 56 | 57 | else if (number >= 51e14 && number < 56e14) // condition for mastercard 58 | { 59 | printf("MASTERCARD\n"); 60 | } 61 | 62 | else if ((number >= 4e12 && number < 5e12) || (number >= 4e15 && number < 5e15)) // condition for visa 63 | { 64 | printf("VISA\n"); 65 | } 66 | else 67 | { 68 | printf("INVALID\n"); 69 | } 70 | } 71 | -------------------------------------------------------------------------------- /week9/lab9/birthdays/templates/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Birthdays 8 | 9 | 10 |
11 |

Birthdays

12 |
13 |
14 |
15 | 16 |

Add a Birthday

17 | 18 |
19 | 20 | 21 | 22 | 23 |
24 |
25 | 26 |
27 | 28 |

All Birthdays

29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | {% for birthday in birthdays %} 38 | 39 | 40 | 41 | 42 | {% endfor %} 43 | 44 |
NameBirthday
{{ birthday.name }}{{ birthday.month }}/{{ birthday.day }}
45 |
46 |
47 | 48 | 49 | -------------------------------------------------------------------------------- /week6/lab6/world-cup/tournament.py: -------------------------------------------------------------------------------- 1 | # Simulate a sports tournament 2 | 3 | import csv 4 | import sys 5 | import random 6 | 7 | # Number of simluations to run 8 | N = 1000 9 | 10 | 11 | def main(): 12 | 13 | # Ensure correct usage 14 | if len(sys.argv) != 2: 15 | sys.exit("Usage: python tournament.py FILENAME") 16 | 17 | teams = [] 18 | with open(sys.argv[1]) as file: 19 | reader = csv.DictReader(file) 20 | for team in reader: 21 | team["rating"] = int(team["rating"]) 22 | teams.append(team) 23 | 24 | counts = {} 25 | for _ in range(N): 26 | winner = simulate_tournament(teams) 27 | if winner in counts: 28 | counts[winner] += 1 29 | else: 30 | counts[winner] = 1 31 | 32 | # Print each team's chances of winning, according to simulation 33 | for team in sorted(counts, key=lambda team: counts[team], reverse=True): 34 | print(f"{team}: {counts[team] * 100 / N:.1f}% chance of winning") 35 | 36 | 37 | def simulate_game(team1, team2): 38 | """Simulate a game. Return True if team1 wins, False otherwise.""" 39 | rating1 = team1["rating"] 40 | rating2 = team2["rating"] 41 | probability = 1 / (1 + 10 ** ((rating2 - rating1) / 600)) 42 | return random.random() < probability 43 | 44 | 45 | def simulate_round(teams): 46 | """Simulate a round. Return a list of winning teams.""" 47 | winners = [] 48 | 49 | # Simulate games for all pairs of teams 50 | for i in range(0, len(teams), 2): 51 | if simulate_game(teams[i], teams[i + 1]): 52 | winners.append(teams[i]) 53 | else: 54 | winners.append(teams[i + 1]) 55 | 56 | return winners 57 | 58 | 59 | def simulate_tournament(teams): 60 | """Simulate a tournament. Return name of winning team.""" 61 | while len(teams) > 1: 62 | teams = simulate_round(teams) 63 | return teams[0]["team"] 64 | 65 | 66 | if __name__ == "__main__": 67 | main() 68 | -------------------------------------------------------------------------------- /week9/Problem Set 9/finance/helpers.py: -------------------------------------------------------------------------------- 1 | import os 2 | import requests 3 | import urllib.parse 4 | 5 | from flask import redirect, render_template, request, session 6 | from functools import wraps 7 | 8 | 9 | def apology(message, code=400): 10 | """Render message as an apology to user.""" 11 | def escape(s): 12 | """ 13 | Escape special characters. 14 | 15 | https://github.com/jacebrowning/memegen#special-characters 16 | """ 17 | for old, new in [("-", "--"), (" ", "-"), ("_", "__"), ("?", "~q"), 18 | ("%", "~p"), ("#", "~h"), ("/", "~s"), ("\"", "''")]: 19 | s = s.replace(old, new) 20 | return s 21 | return render_template("apology.html", top=code, bottom=escape(message)), code 22 | 23 | 24 | def login_required(f): 25 | """ 26 | Decorate routes to require login. 27 | 28 | https://flask.palletsprojects.com/en/1.1.x/patterns/viewdecorators/ 29 | """ 30 | @wraps(f) 31 | def decorated_function(*args, **kwargs): 32 | if session.get("user_id") is None: 33 | return redirect("/login") 34 | return f(*args, **kwargs) 35 | return decorated_function 36 | 37 | 38 | def lookup(symbol): 39 | """Look up quote for symbol.""" 40 | 41 | # Contact API 42 | try: 43 | api_key = os.environ.get("API_KEY") 44 | url = f"https://cloud.iexapis.com/stable/stock/{urllib.parse.quote_plus(symbol)}/quote?token={api_key}" 45 | response = requests.get(url) 46 | response.raise_for_status() 47 | except requests.RequestException: 48 | return None 49 | 50 | # Parse response 51 | try: 52 | quote = response.json() 53 | return { 54 | "name": quote["companyName"], 55 | "price": float(quote["latestPrice"]), 56 | "symbol": quote["symbol"] 57 | } 58 | except (KeyError, TypeError, ValueError): 59 | return None 60 | 61 | 62 | def usd(value): 63 | """Format value as USD.""" 64 | return f"${value:,.2f}" 65 | -------------------------------------------------------------------------------- /week9/lab9/birthdays/static/styles.css: -------------------------------------------------------------------------------- 1 | body { 2 | background-color: #fff; 3 | color: #212529; 4 | font-size: 1rem; 5 | font-weight: 400; 6 | line-height: 1.5; 7 | margin: 0; 8 | text-align: left; 9 | } 10 | 11 | .container { 12 | margin-left: auto; 13 | margin-right: auto; 14 | padding-left: 15px; 15 | padding-right: 15px; 16 | text-align: center; 17 | width: 90%; 18 | } 19 | 20 | .header { 21 | background-color: #477bff; 22 | color: #fff; 23 | margin-bottom: 2rem; 24 | padding: 2rem 1rem; 25 | text-align: center; 26 | } 27 | 28 | .section { 29 | padding-bottom: 1rem; 30 | padding-left: 2rem; 31 | padding-right: 2rem; 32 | padding-top: 0.5rem; 33 | } 34 | 35 | .section:hover { 36 | background-color: #f5f5f5; 37 | transition: color 2s ease-in-out, background-color 0.15s ease-in-out; 38 | } 39 | 40 | h1 { 41 | font-family: 'Montserrat', sans-serif; 42 | font-size: 48px; 43 | } 44 | 45 | button, input[type="submit"] { 46 | background-color: #d9edff; 47 | border: 1px solid transparent; 48 | border-radius: 0.25rem; 49 | font-size: 0.95rem; 50 | font-weight: 400; 51 | line-height: 1.5; 52 | padding: 0.375rem 0.75rem; 53 | text-align: center; 54 | transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; 55 | vertical-align: middle; 56 | } 57 | 58 | input[type="text"], input[type="number"] { 59 | line-height: 1.8; 60 | width: 25%; 61 | } 62 | 63 | input[type="text"]:hover, input[type="number"]:hover { 64 | background-color: #f5f5f5; 65 | transition: color 2s ease-in-out, background-color 0.15s ease-in-out; 66 | } 67 | 68 | table { 69 | background-color: transparent; 70 | margin-bottom: 1rem; 71 | width: 100%; 72 | } 73 | 74 | table th, 75 | table td { 76 | padding: 0.75rem; 77 | vertical-align: middle; 78 | } 79 | 80 | tbody tr:nth-of-type(odd) { 81 | background-color: rgb(179, 208, 255, 0.3) 82 | } 83 | 84 | -------------------------------------------------------------------------------- /week4/lab4/smiley/bmp.h: -------------------------------------------------------------------------------- 1 | // BMP-related data types based on Microsoft's own 2 | 3 | #include 4 | 5 | /** 6 | * Common Data Types 7 | * 8 | * The data types in this section are essentially aliases for C/C++ 9 | * primitive data types. 10 | * 11 | * Adapted from http://msdn.microsoft.com/en-us/library/cc230309.aspx. 12 | * See http://en.wikipedia.org/wiki/Stdint.h for more on stdint.h. 13 | */ 14 | typedef uint8_t BYTE; 15 | typedef uint32_t DWORD; 16 | typedef int32_t LONG; 17 | typedef uint16_t WORD; 18 | 19 | /** 20 | * BITMAPFILEHEADER 21 | * 22 | * The BITMAPFILEHEADER structure contains information about the type, size, 23 | * and layout of a file that contains a DIB [device-independent bitmap]. 24 | * 25 | * Adapted from http://msdn.microsoft.com/en-us/library/dd183374(VS.85).aspx. 26 | */ 27 | typedef struct 28 | { 29 | WORD bfType; 30 | DWORD bfSize; 31 | WORD bfReserved1; 32 | WORD bfReserved2; 33 | DWORD bfOffBits; 34 | } __attribute__((__packed__)) 35 | BITMAPFILEHEADER; 36 | 37 | /** 38 | * BITMAPINFOHEADER 39 | * 40 | * The BITMAPINFOHEADER structure contains information about the 41 | * dimensions and color format of a DIB [device-independent bitmap]. 42 | * 43 | * Adapted from http://msdn.microsoft.com/en-us/library/dd183376(VS.85).aspx. 44 | */ 45 | typedef struct 46 | { 47 | DWORD biSize; 48 | LONG biWidth; 49 | LONG biHeight; 50 | WORD biPlanes; 51 | WORD biBitCount; 52 | DWORD biCompression; 53 | DWORD biSizeImage; 54 | LONG biXPelsPerMeter; 55 | LONG biYPelsPerMeter; 56 | DWORD biClrUsed; 57 | DWORD biClrImportant; 58 | } __attribute__((__packed__)) 59 | BITMAPINFOHEADER; 60 | 61 | /** 62 | * RGBTRIPLE 63 | * 64 | * This structure describes a color consisting of relative intensities of 65 | * red, green, and blue. 66 | * 67 | * Adapted from http://msdn.microsoft.com/en-us/library/aa922590.aspx. 68 | */ 69 | typedef struct 70 | { 71 | BYTE rgbtBlue; 72 | BYTE rgbtGreen; 73 | BYTE rgbtRed; 74 | } __attribute__((__packed__)) 75 | RGBTRIPLE; 76 | -------------------------------------------------------------------------------- /week4/Problem Set 4/filter-more/bmp.h: -------------------------------------------------------------------------------- 1 | // BMP-related data types based on Microsoft's own 2 | 3 | #include 4 | 5 | /** 6 | * Common Data Types 7 | * 8 | * The data types in this section are essentially aliases for C/C++ 9 | * primitive data types. 10 | * 11 | * Adapted from http://msdn.microsoft.com/en-us/library/cc230309.aspx. 12 | * See http://en.wikipedia.org/wiki/Stdint.h for more on stdint.h. 13 | */ 14 | typedef uint8_t BYTE; 15 | typedef uint32_t DWORD; 16 | typedef int32_t LONG; 17 | typedef uint16_t WORD; 18 | 19 | /** 20 | * BITMAPFILEHEADER 21 | * 22 | * The BITMAPFILEHEADER structure contains information about the type, size, 23 | * and layout of a file that contains a DIB [device-independent bitmap]. 24 | * 25 | * Adapted from http://msdn.microsoft.com/en-us/library/dd183374(VS.85).aspx. 26 | */ 27 | typedef struct 28 | { 29 | WORD bfType; 30 | DWORD bfSize; 31 | WORD bfReserved1; 32 | WORD bfReserved2; 33 | DWORD bfOffBits; 34 | } __attribute__((__packed__)) 35 | BITMAPFILEHEADER; 36 | 37 | /** 38 | * BITMAPINFOHEADER 39 | * 40 | * The BITMAPINFOHEADER structure contains information about the 41 | * dimensions and color format of a DIB [device-independent bitmap]. 42 | * 43 | * Adapted from http://msdn.microsoft.com/en-us/library/dd183376(VS.85).aspx. 44 | */ 45 | typedef struct 46 | { 47 | DWORD biSize; 48 | LONG biWidth; 49 | LONG biHeight; 50 | WORD biPlanes; 51 | WORD biBitCount; 52 | DWORD biCompression; 53 | DWORD biSizeImage; 54 | LONG biXPelsPerMeter; 55 | LONG biYPelsPerMeter; 56 | DWORD biClrUsed; 57 | DWORD biClrImportant; 58 | } __attribute__((__packed__)) 59 | BITMAPINFOHEADER; 60 | 61 | /** 62 | * RGBTRIPLE 63 | * 64 | * This structure describes a color consisting of relative intensities of 65 | * red, green, and blue. 66 | * 67 | * Adapted from http://msdn.microsoft.com/en-us/library/aa922590.aspx. 68 | */ 69 | typedef struct 70 | { 71 | BYTE rgbtBlue; 72 | BYTE rgbtGreen; 73 | BYTE rgbtRed; 74 | } __attribute__((__packed__)) 75 | RGBTRIPLE; 76 | -------------------------------------------------------------------------------- /final-project/templates/update_route.html: -------------------------------------------------------------------------------- 1 | {% extends "layout.html" %} 2 | 3 | {% block title %} 4 | Update Route 5 | {% endblock %} 6 | 7 | {% block main %} 8 |

Update Route

9 | 10 | 11 |
12 | 13 |
14 | 15 | 16 |
17 |
18 | 19 | 20 |
21 |
22 | 23 | 24 |
25 |
26 | 27 | 28 |
29 |
30 | 31 | 32 |
33 |
34 | 35 | 36 |
37 | 38 |
39 | {% endblock %} 40 | -------------------------------------------------------------------------------- /week4/Problem Set 4/reverse/reverse.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | 5 | #include "wav.h" 6 | 7 | int check_format(WAVHEADER header); 8 | int get_block_size(WAVHEADER header); 9 | 10 | int main(int argc, char *argv[]) 11 | { 12 | // Ensure proper usage 13 | if (argc != 3) 14 | { 15 | printf("Usage: reverse input.wav output.wav\n"); 16 | return 1; 17 | } 18 | 19 | // Open input file for reading 20 | FILE *input = fopen(argv[1], "r"); 21 | if (input == NULL) 22 | { 23 | printf("Could not open %s.\n", argv[1]); 24 | return 1; 25 | } 26 | 27 | // Read header 28 | WAVHEADER header; 29 | fread(&header, sizeof(WAVHEADER), 1, input); 30 | 31 | // Use check_format to ensure WAV format 32 | if (check_format(header) == 0) 33 | { 34 | printf("Not a Wave File\n"); 35 | return 1; 36 | } 37 | 38 | // Open output file for writing 39 | FILE *output = fopen(argv[2], "w"); 40 | if (output == NULL) 41 | { 42 | printf("Could not open %s.\n", argv[2]); 43 | return 1; 44 | } 45 | 46 | // Write header to file 47 | fwrite(&header, sizeof(WAVHEADER), 1, output); 48 | 49 | // Use get_block_size to calculate size of block 50 | int size = get_block_size(header); 51 | 52 | // Write reversed audio to file 53 | if (fseek(input, size, SEEK_END)) 54 | { 55 | return 1; 56 | } 57 | BYTE buffer[size]; 58 | while (ftell(input) - size > sizeof(header)) 59 | { 60 | if (fseek(input, -2 * size, SEEK_CUR)) 61 | { 62 | return 1; 63 | } 64 | fread(buffer, size, 1, input); 65 | fwrite(buffer, size, 1, output); 66 | } 67 | 68 | fclose(input); 69 | fclose(output); 70 | } 71 | 72 | int check_format(WAVHEADER header) 73 | { 74 | if (header.format[0] == 'W' && header.format[1] == 'A' && header.format[2] == 'V' && header.format[3] == 'E') 75 | { 76 | return 1; 77 | } 78 | return 0; 79 | } 80 | 81 | int get_block_size(WAVHEADER header) 82 | { 83 | int block_size = header.numChannels * header.bitsPerSample / 8; // (bits / 8) = bytes 84 | return block_size; 85 | } -------------------------------------------------------------------------------- /final-project/templates/edit_route.html: -------------------------------------------------------------------------------- 1 | {% extends "layout.html" %} 2 | 3 | {% block title %} 4 | Admin Panel 5 | {% endblock %} 6 | 7 | {% block main %} 8 |

Admin Panel

9 |

10 | 11 | 12 |

Add Route

13 |
14 | 15 |
16 | 17 | 18 |
19 |
20 | 21 | 22 |
23 |
24 | 25 | 26 |
27 |
28 | 29 | 30 |
31 |
32 | 33 | 34 |
35 |
36 | 37 | 38 |
39 | 40 |
41 | 42 |

43 | 44 | 45 |

Update And Delete Route

46 |
47 | 48 |
49 | {% endblock %} -------------------------------------------------------------------------------- /week6/Problem Set 6/dna/dna.py: -------------------------------------------------------------------------------- 1 | import csv 2 | import sys 3 | 4 | 5 | def main(): 6 | 7 | if len(sys.argv) != 3: 8 | sys.exit("Usage: python dna.py data.csv sequence.txt") 9 | 10 | database = [] 11 | with open(sys.argv[1]) as file: 12 | reader = csv.DictReader(file) 13 | for row in reader: 14 | database.append(row) 15 | 16 | with open(sys.argv[2]) as file: 17 | dna_sequence = file.read() 18 | 19 | headers = list(database[0].keys())[1:] # [1:] because I don't want to include 'name' field 20 | longest_matches = {} 21 | for header in headers: 22 | longest_matches[header] = longest_match(dna_sequence, header) 23 | 24 | name = "No match" 25 | for row in database: 26 | match = 0 27 | for header in headers: 28 | if int(row[header]) == longest_matches[header]: 29 | match += 1 30 | if match == len(headers): 31 | name = row["name"] 32 | 33 | print(name) 34 | 35 | return 36 | 37 | 38 | def longest_match(sequence, subsequence): 39 | """Returns length of longest run of subsequence in sequence.""" 40 | 41 | # Initialize variables 42 | longest_run = 0 43 | subsequence_length = len(subsequence) 44 | sequence_length = len(sequence) 45 | 46 | # Check each character in sequence for most consecutive runs of subsequence 47 | for i in range(sequence_length): 48 | 49 | # Initialize count of consecutive runs 50 | count = 0 51 | 52 | # Check for a subsequence match in a "substring" (a subset of characters) within sequence 53 | # If a match, move substring to next potential match in sequence 54 | # Continue moving substring and checking for matches until out of consecutive matches 55 | while True: 56 | 57 | # Adjust substring start and end 58 | start = i + count * subsequence_length 59 | end = start + subsequence_length 60 | 61 | # If there is a match in the substring 62 | if sequence[start:end] == subsequence: 63 | count += 1 64 | 65 | # If there is no match in the substring 66 | else: 67 | break 68 | 69 | # Update most consecutive matches found 70 | longest_run = max(longest_run, count) 71 | 72 | # After checking for runs at each character in seqeuence, return longest run found 73 | return longest_run 74 | 75 | 76 | main() 77 | -------------------------------------------------------------------------------- /week3/Problem Set 3/plurality/plurality.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | 6 | // Max number of candidates 7 | #define MAX 9 8 | 9 | // Candidates have name and vote count 10 | typedef struct 11 | { 12 | string name; 13 | int votes; 14 | } 15 | candidate; 16 | 17 | // Array of candidates 18 | candidate candidates[MAX]; 19 | 20 | // Number of candidates 21 | int candidate_count; 22 | 23 | // Function prototypes 24 | bool vote(string name); 25 | void print_winner(void); 26 | 27 | int main(int argc, string argv[]) 28 | { 29 | // Check for invalid usage 30 | if (argc < 2) 31 | { 32 | printf("Usage: plurality [candidate ...]\n"); 33 | return 1; 34 | } 35 | 36 | // Populate array of candidates 37 | candidate_count = argc - 1; 38 | if (candidate_count > MAX) 39 | { 40 | printf("Maximum number of candidates is %i\n", MAX); 41 | return 2; 42 | } 43 | for (int i = 0; i < candidate_count; i++) 44 | { 45 | candidates[i].name = argv[i + 1]; 46 | candidates[i].votes = 0; 47 | } 48 | 49 | int voter_count = get_int("Number of voters: "); 50 | 51 | // Loop over all voters 52 | for (int i = 0; i < voter_count; i++) 53 | { 54 | string name = get_string("Vote: "); 55 | 56 | // Check for invalid vote 57 | if (!vote(name)) 58 | { 59 | printf("Invalid vote.\n"); 60 | } 61 | } 62 | 63 | // Display winner of election 64 | print_winner(); 65 | } 66 | 67 | // Update vote totals given a new vote 68 | bool vote(string name) 69 | { 70 | for (int i = 0; i < candidate_count; ++i) 71 | { 72 | if (strcmp(name, candidates[i].name) == 0) 73 | { 74 | candidates[i].votes++; 75 | return true; 76 | } 77 | } 78 | return false; 79 | } 80 | 81 | // Print the winner (or winners) of the election 82 | void print_winner(void) 83 | { 84 | int max = 0; 85 | for (int i = 0; i < candidate_count; ++i) 86 | { 87 | int vote_num = candidates[i].votes; 88 | if (max < vote_num) 89 | { 90 | max = vote_num; 91 | } 92 | } 93 | for (int i = 0; i < candidate_count; ++i) 94 | { 95 | if (candidates[i].votes == max) 96 | { 97 | printf("%s\n", candidates[i].name); 98 | } 99 | } 100 | 101 | return; 102 | } 103 | -------------------------------------------------------------------------------- /week5/Problem Set 5/speller/dictionary.c: -------------------------------------------------------------------------------- 1 | // Implements a dictionary's functionality 2 | 3 | #include 4 | #include 5 | #include 6 | #include 7 | #include 8 | #include 9 | #include "dictionary.h" 10 | 11 | // Represents a node in a hash table 12 | typedef struct node 13 | { 14 | char word[LENGTH + 1]; 15 | struct node *next; 16 | } 17 | node; 18 | 19 | // TODO: Choose number of buckets in hash table 20 | const unsigned int N = 26; 21 | unsigned int word_count; 22 | // Hash table 23 | node *table[N]; 24 | 25 | // Returns true if word is in dictionary, else false 26 | bool check(const char *word) 27 | { 28 | int w_length = strlen(word); 29 | char lower_word[w_length + 1]; 30 | for (int i = 0; i < w_length; ++i) 31 | { 32 | lower_word[i] = tolower(word[i]); 33 | } 34 | lower_word[w_length] = '\0'; 35 | 36 | unsigned int index = hash(lower_word); 37 | 38 | node *cursor = table[index]; 39 | 40 | while (cursor != NULL) 41 | { 42 | if (strcmp(cursor->word, lower_word) == 0) 43 | { 44 | return true; 45 | } 46 | cursor = cursor->next; 47 | } 48 | 49 | return false; 50 | } 51 | 52 | // Hashes word to a number 53 | unsigned int hash(const char *word) 54 | { 55 | unsigned int hash_value = 0; 56 | for (int i = 0; word[i] != '\0'; i++) 57 | { 58 | hash_value = ((hash_value << 2) + hash_value) ^ word[i]; 59 | } 60 | return hash_value % N; 61 | } 62 | 63 | // Loads dictionary into memory, returning true if successful, else false 64 | bool load(const char *dictionary) 65 | { 66 | FILE *file = fopen(dictionary, "r"); 67 | if (file == NULL) 68 | { 69 | return false; 70 | } 71 | char word[LENGTH + 1]; 72 | while (fscanf(file, "%s", word) != EOF) 73 | { 74 | node *new_node = malloc(sizeof(node)); 75 | if (new_node == NULL) 76 | { 77 | return false; 78 | } 79 | strcpy(new_node->word, word); 80 | new_node->next = NULL; 81 | unsigned int index = hash(word); 82 | new_node->next = table[index]; 83 | table[index] = new_node; 84 | ++word_count; 85 | } 86 | fclose(file); 87 | 88 | return true; 89 | } 90 | 91 | // Returns number of words in dictionary if loaded, else 0 if not yet loaded 92 | unsigned int size(void) 93 | { 94 | return word_count; 95 | } 96 | 97 | // Unloads dictionary from memory, returning true if successful, else false 98 | bool unload(void) 99 | { 100 | for (int i = 0; i < N; i++) 101 | { 102 | node *cursor = table[i]; 103 | while (cursor != NULL) 104 | { 105 | node *temp = cursor; 106 | cursor = cursor->next; 107 | free(temp); 108 | } 109 | } 110 | return true; 111 | } 112 | -------------------------------------------------------------------------------- /week8/lab8/trivia/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Trivia! 8 | 39 | 40 | 41 |
42 |

Trivia!

43 |
44 | 45 |
46 |
47 |

Part 1: Multiple Choice

48 |
49 | 50 |

What is the biggest creature in the world?

51 | 52 | 53 | 54 | 55 | 56 |

57 |
58 | 59 |
60 |

Part 2: Free Response

61 |
62 | 63 |

What is the world's highest grossing movie in the world?

64 | 65 | 66 |

67 |
68 |
69 | 70 | 71 | -------------------------------------------------------------------------------- /week4/lab4/smiley/colorize.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | #include "helpers.h" 5 | 6 | int main(int argc, char *argv[]) 7 | { 8 | // ensure proper usage 9 | if (argc != 3) 10 | { 11 | printf("Usage: colorize infile outfile\n"); 12 | return 1; 13 | } 14 | 15 | // remember filenames 16 | char *infile = argv[1]; 17 | char *outfile = argv[2]; 18 | 19 | // open input file 20 | FILE *inptr = fopen(infile, "r"); 21 | if (inptr == NULL) 22 | { 23 | printf("Could not open %s.\n", infile); 24 | return 4; 25 | } 26 | 27 | // open output file 28 | FILE *outptr = fopen(outfile, "w"); 29 | if (outptr == NULL) 30 | { 31 | fclose(inptr); 32 | printf("Could not create %s.\n", outfile); 33 | return 5; 34 | } 35 | 36 | // read infile's BITMAPFILEHEADER 37 | BITMAPFILEHEADER bf; 38 | fread(&bf, sizeof(BITMAPFILEHEADER), 1, inptr); 39 | 40 | // read infile's BITMAPINFOHEADER 41 | BITMAPINFOHEADER bi; 42 | fread(&bi, sizeof(BITMAPINFOHEADER), 1, inptr); 43 | 44 | // ensure infile is (likely) a 24-bit uncompressed BMP 4.0 45 | if (bf.bfType != 0x4d42 || bf.bfOffBits != 54 || bi.biSize != 40 || 46 | bi.biBitCount != 24 || bi.biCompression != 0) 47 | { 48 | fclose(outptr); 49 | fclose(inptr); 50 | printf("Unsupported file format.\n"); 51 | return 6; 52 | } 53 | 54 | int height = abs(bi.biHeight); 55 | int width = bi.biWidth; 56 | 57 | // allocate memory for image 58 | RGBTRIPLE (*image)[width] = calloc(height, width * sizeof(RGBTRIPLE)); 59 | if (image == NULL) 60 | { 61 | printf("Not enough memory to store image.\n"); 62 | fclose(outptr); 63 | fclose(inptr); 64 | return 7; 65 | } 66 | 67 | // determine padding for scanlines 68 | int padding = (4 - (width * sizeof(RGBTRIPLE)) % 4) % 4; 69 | 70 | // iterate over infile's scanlines 71 | for (int i = 0; i < height; i++) 72 | { 73 | // read row into pixel array 74 | fread(image[i], sizeof(RGBTRIPLE), width, inptr); 75 | 76 | // skip over padding 77 | fseek(inptr, padding, SEEK_CUR); 78 | } 79 | 80 | colorize(height, width, image); 81 | 82 | // write outfile's BITMAPFILEHEADER 83 | fwrite(&bf, sizeof(BITMAPFILEHEADER), 1, outptr); 84 | 85 | // write outfile's BITMAPINFOHEADER 86 | fwrite(&bi, sizeof(BITMAPINFOHEADER), 1, outptr); 87 | 88 | // write new pixels to outfile 89 | for (int i = 0; i < height; i++) 90 | { 91 | // write row to outfile 92 | fwrite(image[i], sizeof(RGBTRIPLE), width, outptr); 93 | 94 | // write padding at end of row 95 | for (int k = 0; k < padding; k++) 96 | { 97 | fputc(0x00, outptr); 98 | } 99 | } 100 | 101 | // free memory for image 102 | free(image); 103 | 104 | // close infile 105 | fclose(inptr); 106 | 107 | // close outfile 108 | fclose(outptr); 109 | 110 | return 0; 111 | } 112 | -------------------------------------------------------------------------------- /week5/Problem Set 5/speller/keys/carroll.txt: -------------------------------------------------------------------------------- 1 | 2 | MISSPELLED WORDS 3 | 4 | Gutenberg's 5 | Alice's 6 | eBook 7 | eBook 8 | org 9 | Alice's 10 | EBook 11 | EBOOK 12 | ALICE'S 13 | ALICE'S 14 | MARMALADE' 15 | Antipathies 16 | Dinah'll 17 | Alice's 18 | ME' 19 | not' 20 | ME' 21 | ALICE'S 22 | ESQ 23 | HEARTHRUG 24 | ALICE'S 25 | skurried 26 | O 27 | O 28 | O 29 | Ou 30 | chatte 31 | better' 32 | Morcar 33 | Morcar 34 | Stigand 35 | Atheling 36 | William's 37 | Normans 38 | thimble' 39 | C 40 | D 41 | Mouse's 42 | Dinah's 43 | naturedly 44 | W 45 | RABBIT' 46 | Dinah'll 47 | pleasanter 48 | Alice's 49 | won't' 50 | yer 51 | yer 52 | arrum 53 | yer 54 | yer 55 | Bill's 56 | Bill's 57 | Bill's 58 | Bill's 59 | barrowful 60 | barrowful 61 | V 62 | sir' 63 | yawned 64 | Footman's 65 | nose' 66 | Hatter's 67 | Alice's 68 | Lacie 69 | Sh 70 | sh 71 | were' 72 | M 73 | M 74 | M 75 | everything's 76 | beheaded 77 | King's 78 | processions 79 | rosetree 80 | beheaded 81 | croqueted 82 | croqueting 83 | executioner's 84 | King's 85 | beheaded 86 | Alice's 87 | Everything's 88 | Alice's 89 | Alice's 90 | game's 91 | Tis 92 | tis 93 | tis 94 | Alice's 95 | m 96 | Alice's 97 | ordered' 98 | Hjckrrh 99 | mayn't 100 | uglifying 101 | Seaography 102 | X 103 | never' 104 | dinn 105 | Dinn 106 | yawned 107 | TIS 108 | Tis 109 | Hm 110 | ootiful 111 | oop 112 | ootiful 113 | oop 114 | oop 115 | e 116 | e 117 | ootiful 118 | oop 119 | ootiful 120 | oop 121 | oop 122 | e 123 | e 124 | beauti 125 | FUL 126 | oop 127 | e 128 | e 129 | men' 130 | slates'll 131 | T 132 | Alice's 133 | jurymen 134 | jurymen 135 | jurymen 136 | jurymen 137 | teacups 138 | teacups 139 | Gutenberg's 140 | Alice's 141 | EBOOK 142 | ALICE'S 143 | txt 144 | http 145 | org 146 | tm 147 | tm 148 | eBooks 149 | eBook 150 | eBook 151 | eBooks 152 | tm 153 | tm 154 | http 155 | org 156 | tm 157 | tm 158 | tm 159 | tm 160 | E 161 | B 162 | tm 163 | C 164 | tm 165 | tm 166 | E 167 | C 168 | PGLAF 169 | tm 170 | tm 171 | tm 172 | tm 173 | tm 174 | D 175 | tm 176 | E 177 | E 178 | tm 179 | tm 180 | eBook 181 | eBook 182 | org 183 | E 184 | tm 185 | E 186 | E 187 | tm 188 | E 189 | E 190 | E 191 | tm 192 | E 193 | E 194 | tm 195 | E 196 | tm 197 | tm 198 | E 199 | E 200 | tm 201 | E 202 | nonproprietary 203 | tm 204 | tm 205 | org 206 | tm 207 | E 208 | E 209 | tm 210 | E 211 | E 212 | E 213 | tm 214 | tm 215 | tm 216 | e 217 | s 218 | tm 219 | tm 220 | F 221 | tm 222 | E 223 | tm 224 | tm 225 | F 226 | F 227 | tm 228 | tm 229 | F 230 | F 231 | tm 232 | tm 233 | F 234 | F 235 | F 236 | IS' 237 | MERCHANTIBILITY 238 | F 239 | unenforceability 240 | F 241 | tm 242 | tm 243 | tm 244 | b 245 | tm 246 | c 247 | tm 248 | tm 249 | tm's 250 | tm 251 | tm 252 | http 253 | pglaf 254 | org 255 | c 256 | c 257 | http 258 | pglaf 259 | org 260 | U 261 | S 262 | Melan 263 | S 264 | pglaf 265 | org 266 | http 267 | pglaf 268 | org 269 | B 270 | Newby 271 | gbnewby 272 | pglaf 273 | org 274 | tm 275 | http 276 | pglaf 277 | org 278 | U 279 | S 280 | http 281 | pglaf 282 | org 283 | tm 284 | S 285 | tm 286 | tm 287 | eBooks 288 | tm 289 | eBooks 290 | U 291 | S 292 | eBooks 293 | PG 294 | http 295 | org 296 | tm 297 | eBooks 298 | eBooks 299 | 300 | WORDS MISSPELLED: 295 301 | WORDS IN DICTIONARY: 143091 302 | WORDS IN TEXT: 29758 303 | -------------------------------------------------------------------------------- /final-project/README.md: -------------------------------------------------------------------------------- 1 | # Python Travel 2 | #### Description: 3 | Abstract: In this project, a database was created for a public transport agency to store information about bus and train routes, timetables and fare prices. ER model, relational model and algebra, SQL language, normalization are used. We wrote in Python and MSSQL environment. 4 | 5 | Introduction: A database-management system (DBMS) is a collection of interrelated data and a set of programs to access those data. The collection of data, usually referred to as the database, contains information relevant to an enterprise. The primary goal of a DBMS is to provide a way to store and retrieve database information that is both convenient and efficient. Database systems are designed to manage large bodies of information. Management of data involves both defining structures for storage of information and providing mechanisms for the manipulation of information. In addition, the database system must ensure the safety of the information stored, despite system crashes or attempts at unauthorized access. If data are to be shared among several users, the system must avoid possible anomalous results. Because information is so important in most organizations, computer scientists have developed a large body of concepts and techniques for managing data. These concepts and techniques form the focus of this book. This chapter briefly introduces the principles of database systems. 6 | 7 | Purpose of Public Transport Company Database: The purpose of these database systems is to create a database where company officials can add, update and delete new vehicles, routes, and users can inquire the tickets they have purchased, where they can search routes and view active expedition. The essence of the job, this is a ticket selling application for travelling companies. If their company grows and if they want to add new expedition to their route this web-app is usefull for this. Also if they buy a new bus or change a old bus they can delete the old one and add the new one to their systems. On the other hand the customers can buy the tickets for their own object. They can easily query the tickets with just starting point and end point. After that the available tickets is loaded to the page and customer can buy the tickets by looking to date and vehicle type etc. After bought the tickets customers can see their own tickets with their name, TC no and phone number. If an unplanned situation occurs and they no more need that ticket, they can easily cancel the ticket. Programmers develop these application programs to meet the needs of the company and users. 8 | 9 | Structure of Relational Databases: 10 | Route(route_id, starting_station, destination, date, time_of_journey, price, vehicle_id(FK)) 11 | Vehicle(vehicle_id, vehicle_type, passenger_capacity, route_id(FK)) 12 | Ticket(ticket_id, customer_name, tc_no, vehicle_id(FK), route_id(FK), phone) 13 | Admin(id, User_name, password) 14 | 15 | 16 | 17 | Database Users and User Interfaces: There are two different types of database system users that differ in the way they hope to interact with the system. Different user interfaces are designed for different types of users. Thanks to the web application, admin users can add vehicles with the privileges granted to them, add expeditions, view the tickets for sale and make changes on them. Standard users, on the other hand, can enter the departure route and arrival route and inquire about company expedition. In addition, the user can query the tickets he has previously bought by entering his own name, tc number and phone number. 18 | 19 | https://github.com/BurakAhmet/cs50x/assets/89780902/82294710-df8a-496f-a184-2d22d4dfc90b 20 | 21 | -------------------------------------------------------------------------------- /week5/lab5/inheritance/inheritance.c: -------------------------------------------------------------------------------- 1 | // Simulate genetic inheritance of blood type 2 | 3 | #include 4 | #include 5 | #include 6 | #include 7 | 8 | // Each person has two parents and two alleles 9 | typedef struct person 10 | { 11 | struct person *parents[2]; 12 | char alleles[2]; 13 | } 14 | person; 15 | 16 | const int GENERATIONS = 3; 17 | const int INDENT_LENGTH = 4; 18 | 19 | person *create_family(int generations); 20 | void print_family(person *p, int generation); 21 | void free_family(person *p); 22 | char random_allele(); 23 | 24 | int main(void) 25 | { 26 | // Seed random number generator 27 | srand(time(0)); 28 | 29 | // Create a new family with three generations 30 | person *p = create_family(GENERATIONS); 31 | 32 | // Print family tree of blood types 33 | print_family(p, 0); 34 | 35 | // Free memory 36 | free_family(p); 37 | } 38 | 39 | // Create a new individual with `generations` 40 | person *create_family(int generations) 41 | { 42 | person *new_person = malloc(sizeof(person)); 43 | 44 | // If there are still generations left to create 45 | if (generations > 1) 46 | { 47 | // Create two new parents for current person by recursively calling create_family 48 | person *parent0 = create_family(generations - 1); 49 | person *parent1 = create_family(generations - 1); 50 | 51 | new_person->parents[0] = parent0; 52 | new_person->parents[1] = parent1; 53 | 54 | new_person->alleles[0] = new_person->parents[0]->alleles[rand() % 2]; 55 | new_person->alleles[1] = new_person->parents[1]->alleles[rand() % 2]; 56 | 57 | } 58 | 59 | // If there are no generations left to create 60 | else 61 | { 62 | new_person->parents[0] = NULL; 63 | new_person->parents[1] = NULL; 64 | 65 | new_person->alleles[0] = random_allele(); 66 | new_person->alleles[1] = random_allele(); 67 | 68 | } 69 | 70 | return new_person; 71 | } 72 | 73 | // Free `p` and all ancestors of `p`. 74 | void free_family(person *p) 75 | { 76 | if (p == NULL) 77 | { 78 | return; 79 | } 80 | 81 | free_family(p->parents[0]); 82 | free_family(p->parents[1]); 83 | 84 | free(p); 85 | 86 | } 87 | 88 | // Print each family member and their alleles. 89 | void print_family(person *p, int generation) 90 | { 91 | // Handle base case 92 | if (p == NULL) 93 | { 94 | return; 95 | } 96 | 97 | // Print indentation 98 | for (int i = 0; i < generation * INDENT_LENGTH; i++) 99 | { 100 | printf(" "); 101 | } 102 | 103 | // Print person 104 | if (generation == 0) 105 | { 106 | printf("Child (Generation %i): blood type %c%c\n", generation, p->alleles[0], p->alleles[1]); 107 | } 108 | else if (generation == 1) 109 | { 110 | printf("Parent (Generation %i): blood type %c%c\n", generation, p->alleles[0], p->alleles[1]); 111 | } 112 | else 113 | { 114 | for (int i = 0; i < generation - 2; i++) 115 | { 116 | printf("Great-"); 117 | } 118 | printf("Grandparent (Generation %i): blood type %c%c\n", generation, p->alleles[0], p->alleles[1]); 119 | } 120 | 121 | // Print parents of current generation 122 | print_family(p->parents[0], generation + 1); 123 | print_family(p->parents[1], generation + 1); 124 | } 125 | 126 | // Randomly chooses a blood type allele. 127 | char random_allele() 128 | { 129 | int r = rand() % 3; 130 | if (r == 0) 131 | { 132 | return 'A'; 133 | } 134 | else if (r == 1) 135 | { 136 | return 'B'; 137 | } 138 | else 139 | { 140 | return 'O'; 141 | } 142 | } 143 | -------------------------------------------------------------------------------- /week9/Problem Set 9/finance/templates/layout.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | C$50 Finance: {% block title %}{% endblock %} 22 | 23 | 24 | 25 | 26 | 27 | 54 | 55 | {% if get_flashed_messages() %} 56 |
57 | 60 |
61 | {% endif %} 62 | 63 |
64 | {% block main %}{% endblock %} 65 |
66 | 67 |
68 | Data provided by IEX 69 |
70 | 71 | 72 | 73 | 74 | -------------------------------------------------------------------------------- /week4/Problem Set 4/filter-more/filter.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | 5 | #include "helpers.h" 6 | 7 | int main(int argc, char *argv[]) 8 | { 9 | // Define allowable filters 10 | char *filters = "begr"; 11 | 12 | // Get filter flag and check validity 13 | char filter = getopt(argc, argv, filters); 14 | if (filter == '?') 15 | { 16 | printf("Invalid filter.\n"); 17 | return 1; 18 | } 19 | 20 | // Ensure only one filter 21 | if (getopt(argc, argv, filters) != -1) 22 | { 23 | printf("Only one filter allowed.\n"); 24 | return 2; 25 | } 26 | 27 | // Ensure proper usage 28 | if (argc != optind + 2) 29 | { 30 | printf("Usage: ./filter [flag] infile outfile\n"); 31 | return 3; 32 | } 33 | 34 | // Remember filenames 35 | char *infile = argv[optind]; 36 | char *outfile = argv[optind + 1]; 37 | 38 | // Open input file 39 | FILE *inptr = fopen(infile, "r"); 40 | if (inptr == NULL) 41 | { 42 | printf("Could not open %s.\n", infile); 43 | return 4; 44 | } 45 | 46 | // Open output file 47 | FILE *outptr = fopen(outfile, "w"); 48 | if (outptr == NULL) 49 | { 50 | fclose(inptr); 51 | printf("Could not create %s.\n", outfile); 52 | return 5; 53 | } 54 | 55 | // Read infile's BITMAPFILEHEADER 56 | BITMAPFILEHEADER bf; 57 | fread(&bf, sizeof(BITMAPFILEHEADER), 1, inptr); 58 | 59 | // Read infile's BITMAPINFOHEADER 60 | BITMAPINFOHEADER bi; 61 | fread(&bi, sizeof(BITMAPINFOHEADER), 1, inptr); 62 | 63 | // Ensure infile is (likely) a 24-bit uncompressed BMP 4.0 64 | if (bf.bfType != 0x4d42 || bf.bfOffBits != 54 || bi.biSize != 40 || 65 | bi.biBitCount != 24 || bi.biCompression != 0) 66 | { 67 | fclose(outptr); 68 | fclose(inptr); 69 | printf("Unsupported file format.\n"); 70 | return 6; 71 | } 72 | 73 | // Get image's dimensions 74 | int height = abs(bi.biHeight); 75 | int width = bi.biWidth; 76 | 77 | // Allocate memory for image 78 | RGBTRIPLE(*image)[width] = calloc(height, width * sizeof(RGBTRIPLE)); 79 | if (image == NULL) 80 | { 81 | printf("Not enough memory to store image.\n"); 82 | fclose(outptr); 83 | fclose(inptr); 84 | return 7; 85 | } 86 | 87 | // Determine padding for scanlines 88 | int padding = (4 - (width * sizeof(RGBTRIPLE)) % 4) % 4; 89 | 90 | // Iterate over infile's scanlines 91 | for (int i = 0; i < height; i++) 92 | { 93 | // Read row into pixel array 94 | fread(image[i], sizeof(RGBTRIPLE), width, inptr); 95 | 96 | // Skip over padding 97 | fseek(inptr, padding, SEEK_CUR); 98 | } 99 | 100 | // Filter image 101 | switch (filter) 102 | { 103 | // Blur 104 | case 'b': 105 | blur(height, width, image); 106 | break; 107 | 108 | // Edges 109 | case 'e': 110 | edges(height, width, image); 111 | break; 112 | 113 | // Grayscale 114 | case 'g': 115 | grayscale(height, width, image); 116 | break; 117 | 118 | // Reflect 119 | case 'r': 120 | reflect(height, width, image); 121 | break; 122 | } 123 | 124 | // Write outfile's BITMAPFILEHEADER 125 | fwrite(&bf, sizeof(BITMAPFILEHEADER), 1, outptr); 126 | 127 | // Write outfile's BITMAPINFOHEADER 128 | fwrite(&bi, sizeof(BITMAPINFOHEADER), 1, outptr); 129 | 130 | // Write new pixels to outfile 131 | for (int i = 0; i < height; i++) 132 | { 133 | // Write row to outfile 134 | fwrite(image[i], sizeof(RGBTRIPLE), width, outptr); 135 | 136 | // Write padding at end of row 137 | for (int k = 0; k < padding; k++) 138 | { 139 | fputc(0x00, outptr); 140 | } 141 | } 142 | 143 | // Free memory for image 144 | free(image); 145 | 146 | // Close files 147 | fclose(inptr); 148 | fclose(outptr); 149 | return 0; 150 | } 151 | -------------------------------------------------------------------------------- /week4/Problem Set 4/filter-more/helpers.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "helpers.h" 4 | 5 | // Convert image to grayscale 6 | void grayscale(int height, int width, RGBTRIPLE image[height][width]) 7 | { 8 | for (int i = 0; i < height; ++i) 9 | { 10 | for (int j = 0; j < width; ++j) 11 | { 12 | int average = round((float)(image[i][j].rgbtRed + image[i][j].rgbtGreen + image[i][j].rgbtBlue) / 3); 13 | // Set RGB values to average 14 | image[i][j].rgbtRed = average; 15 | image[i][j].rgbtGreen = average; 16 | image[i][j].rgbtBlue = average; 17 | } 18 | } 19 | return; 20 | } 21 | 22 | // Reflect image horizontally 23 | void reflect(int height, int width, RGBTRIPLE image[height][width]) 24 | { 25 | for (int i = 0; i < height; ++i) 26 | { 27 | for (int j = 0; j < width / 2; ++j) 28 | { 29 | // swap 30 | RGBTRIPLE temp = image[i][j]; 31 | image[i][j] = image[i][width - j - 1]; 32 | image[i][width - j - 1] = temp; 33 | } 34 | } 35 | return; 36 | } 37 | 38 | // Blur image 39 | void blur(int height, int width, RGBTRIPLE image[height][width]) 40 | { 41 | RGBTRIPLE temp[height][width]; 42 | for (int i = 0; i < height; i++) 43 | { 44 | for (int j = 0; j < width; j++) 45 | { 46 | int total_red = 0; 47 | int total_green = 0; 48 | int total_blue = 0; 49 | int cell_count = 0; // neighbour box count 50 | 51 | for (int r = -1; r < 2; r++) 52 | { 53 | int row = i + r; 54 | if (row < 0 || row >= height) // pass 55 | { 56 | continue; 57 | } 58 | 59 | for (int c = -1; c < 2; c++) 60 | { 61 | int col = j + c; 62 | if (col < 0 || col >= width) // pass 63 | { 64 | continue; 65 | } 66 | 67 | total_red += image[row][col].rgbtRed; 68 | total_green += image[row][col].rgbtGreen; 69 | total_blue += image[row][col].rgbtBlue; 70 | cell_count++; 71 | } 72 | } 73 | // equalize RGB to average RGB values 74 | temp[i][j].rgbtRed = round((float)total_red / cell_count); 75 | temp[i][j].rgbtGreen = round((float)total_green / cell_count); 76 | temp[i][j].rgbtBlue = round((float)total_blue / cell_count); 77 | } 78 | } 79 | 80 | memcpy(image, temp, sizeof(RGBTRIPLE) * height * width); 81 | return; 82 | } 83 | 84 | // Detect edges 85 | void edges(int height, int width, RGBTRIPLE image[height][width]) 86 | { 87 | RGBTRIPLE temp[height][width]; 88 | // for detecting the borders 89 | int Gx[3][3] = {{-1, 0, 1}, {-2, 0, 2}, {-1, 0, 1}}; 90 | int Gy[3][3] = {{-1, -2, -1}, {0, 0, 0}, {1, 2, 1}}; 91 | for (int i = 0; i < height; i++) 92 | { 93 | for (int j = 0; j < width; j++) 94 | { 95 | int x_red = 0; 96 | int x_green = 0; 97 | int x_blue = 0; 98 | int y_red = 0; 99 | int y_green = 0; 100 | int y_blue = 0; 101 | for (int r = -1; r < 2; r++) 102 | { 103 | int row = i + r; 104 | if (row < 0 || row >= height) // pass 105 | { 106 | continue; 107 | } 108 | for (int c = -1; c < 2; c++) 109 | { 110 | int col = j + c; 111 | if (col < 0 || col >= width) // pass 112 | { 113 | continue; 114 | } 115 | // multiply with Gx and Gy 116 | x_red += image[row][col].rgbtRed * Gx[r + 1][c + 1]; 117 | x_green += image[row][col].rgbtGreen * Gx[r + 1][c + 1]; 118 | x_blue += image[row][col].rgbtBlue * Gx[r + 1][c + 1]; 119 | y_red += image[row][col].rgbtRed * Gy[r + 1][c + 1]; 120 | y_green += image[row][col].rgbtGreen * Gy[r + 1][c + 1]; 121 | y_blue += image[row][col].rgbtBlue * Gy[r + 1][c + 1]; 122 | } 123 | } 124 | int red = round(sqrt(x_red * x_red + y_red * y_red)); 125 | int green = round(sqrt(x_green * x_green + y_green * y_green)); 126 | int blue = round(sqrt(x_blue * x_blue + y_blue * y_blue)); 127 | // values can not be greater than 255 128 | if (red > 255) 129 | { 130 | red = 255; 131 | } 132 | if (green > 255) 133 | { 134 | green = 255; 135 | } 136 | if (blue > 255) 137 | { 138 | blue = 255; 139 | } 140 | temp[i][j].rgbtRed = red; 141 | temp[i][j].rgbtGreen = green; 142 | temp[i][j].rgbtBlue = blue; 143 | } 144 | } 145 | memcpy(image, temp, sizeof(RGBTRIPLE) * height * width); 146 | return; 147 | } 148 | -------------------------------------------------------------------------------- /week6/Problem Set 6/dna/sequences/14.txt: -------------------------------------------------------------------------------- 1 | GGAGGCCAAAGTCTTGTGATATCGGGCAACTCCCCGGGAGGAACACAGGCCCACCGAAAACAGCTTGAAATGGGAAACGTTCCCGATCTACGCCGGGCCAGAGGACGAACACACGCTACCCGGGATCCACTGTGATTTTCGGATTTCCAACGGCGGAGAGCCCCGTTCCCTAGCAATTGATCCCCCGGAAGAAGACACGGAGGCACTACTCAGGTATGGGTAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGTTTCAAATTACCTCATAGACTCATCGCTTACCACTATCCAGTTTGCTCCTAAACTACCTTCCCACGACGACTCCCTATTATTCTTATTCTGGCAAGGAATAAGCCTGTTTGTGACAAAATATCCATGTGGAATTTACCCGCACCCAGTCCACTTTGTCAGGTGGGACTAGCGATCCCGCACTAAAGCCTCAATATTCTCAAGTGTGACAAAGGTGTCTTATCGTGAACGAGGCGTAACTGGTAATATCCGATAAGTGGATGGCGGAACTATAAGCTGTCCAGGTGTACCGTGGACGGGTCCATGACCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCGATCGTTGAGCGTCCAGGTCAGGACGGGCCTTAAAGAGGCTTGGTGACGGGAGTTACTAACAGGAGGCTGGCACGAAAGGCAATCCGTAATTCGGCCCGCACTCCGCTATTCCTGCCGGTTAGTTACCTACCGCCCTCCGGCAGCACGAGAAGTCAAAATTACCGGTATCAAAACCACACGAACCTAGAACCATGGCGTTCAAGAGATCGCCCCCCAGAACCTCCCCACACACGACGTTGCGGGAAAGCCAACAATTGACTCCATTGCCTAACATATAGGAAGTTTCTATCGCCGTACGCTAGGGCCTATTTGGGGGCATCGGAAGGATAAAAAGAACGCTTAGTAAGCTTGGTCTATAGTGGTATACCGTAGAAGCTGACGCAACTCTGACGACTCAAGTTTATTACCACTTTAGTAGTCGCTTCTTCAGGCCTCTCTTTTGACACATGGGAGACCGGACGGTCATAACCAAATTGTAAACAGCGGCTTATCGTCATACCCCGCTCCGATAGTGGGGATAAACTATGTGGTACCATTGAGCGGGCTACATACCTCCGGTAGAAGATAATACGGCTATCGTACAGTCTGTGGTCGGGCCTATAGACGAAGACGACCGGAACGAACGAAGCCGCACGGTTGGTGAGGTCGCATTGTCTGTAATACAAAAGGCACAAGATGCTACTAATCCTTTATGCCGCGAGCTGGCAACCGCCCTCTGGCTAGGAATTGGCGCGCGGTCACCGACCAGCTACAACGTCCCTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGAGTTCCTGATCTGTAGGCGGTATCATAGGGCATCGCCTGGCACACTGGGTGCCAGACTATGTGGAACCCCCCCGTGGGAGCTAGCTTACGGCTCAGTGCCGGTGCGGGGACAACGTCAGGGTTTCCAGTGATTGACGTCACAGAAGTGGCGGCTGGTTTTCTTCCAACCCACACATGGACGGTCGAGTCCCCTAGGATTTCGTAATACCCGGGTTAGAGGAACTAGTCCACGCTGAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAACTCTCGTGAGCTTGAGCATGACTGATACGGAGAGGTGAGAATGCCGTAACAGTAACGGAGCCGTCCGTTGTTTTCTTTGTAACTTACTAGGTACAATGCCAGCTGATTGGCTGACACAGACATTTCCTGTCTTTACAAGTCAAATTCTTCAACTTACGCTGGGATATGGAGGGTCTCCAGGTAAGAGTTTCTTATGATTGCAAAACAATATCGGGTGAACCCTCCTGCTGGTGTTCGTAGCGGCGTCAGGATTGGTTGCGGGCACGTCTTTGTATCTTAGACTACTAGCGCCGAGATAGATAGATAGATAGATAGATACCTAGTTAGCTGAGGGGCGCGTTGGTTTTTTCCTACAGCGCCTGAGCTGGTGCAAGCATAACATGAGTCTGGCGCGTCACTCAGCCATGAAGGTAAATGCTGGGGAAGCGTTATATGTTGTGTCGAGCCGTATCGGAGCATATTGTCTACTGAATCCTAGAGGGGTGCCTTAATATGCTACATCACTAACCCATTTAGGAGACTAAATATACTAGAATCTGCCTGTTTGATATTTTCAGAAGAACGGGTCGGCGCTATCCCTTAGGAAACTACGGACCGCCTGCAGCGAAGGCGCCCATCTCAGTCATCTCACGACTCTATGTTTTCCGCCATTTGCCGATACACTTATAAGTCGCTCGGTCCTGCGTCACTAACTGAAATATCGATCATTGATTTGTCATGATAACCTGGTAAGGTAGATAAACTGTTGCATGGAGTGTAGATGTGTAAGAATAATTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTACGTCGCATAACCTATCCGGGAAGGGGTCAGACAAGCCTACCACTTGTCGGTACTGATTGCCGCAAGCCGTCTCAACCCTCAGATGGCAGATAGAAGGAGTCAACATCTGACGGCGTTCATTGCTCGACTCGGACAGAAAACATATCTCGTCCGCGGAATCCAGCACAGGCAGCAGTTGCCGCCGTGTCAGCTTCCAGCCTCCCAGAGGGGAGCCGGTGGAGTTCTCGCGCTACTCGCAATTAAGTGACGGTCCGACGTTCCTGCGGTAATGACGATGAGCCTGAGTTAGTAAGCATCATCCTCCAGACTTCCGTGACAGTTTTCAGCCGCACATGTTACCGTCCAGTCGTATTCTTCGGAGCTGAGGCACCTAACAGGGTCTCATTTACAGAGGGGAGATTCTTGCATCACTGTGAGTGTGCTCACAGACACCGTTCTTGTTGACTATGGAAAGACCTTAATTGCCATCGAGACTGAATATTGGCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCACGGAAGTTATATGCCACCAATCCCGTCCTGGGTCGTATGCAGAGAGCTTACGTACATGGGGATAGCAATATGAGAGACACGTAGCAGCAAGCATCTTTCTACGTAAAGCTCCCTACAATAGTTACCTTATTCATGTCCAGATTTACCGTGCTGGGGCCCTTCGACTCTAACGACAGCTAGATCGCACCGGCAACTGCCATCCCCTACGGACAATCTCCGTGCGGATGTCAAACCCCTCCTTGTAGGGTTACTAGTATGAGTAGCGGGTGAGAGCACTCGAGCGATGACCGGTTTGAGAAGGAAGGCATCGACGGGCAGTTGGCGAGGCTCAGCTTCGGATCCCGGTCTAACCGCTAAAAAAGCGACCGCGCTGAAATTATTACGGAGGAGGGACCACCCATATGCCGTTAAAAAGCGTCCTTAGAGTTTCGGTGCAACATGTAGCTGGATTAGCTCCCAACTAGGCACTATCTGGTGCCCTTATAGCTGCACTGGGGGTCTCGCTGAGGCAACTATATGGGGTTCGTTAGTAGAGATTCCAATAGTGAGCCCCCTAAATTGGCATGTAACGCGACGCGGATCAGCTGCATGAATCGAGGCTGCGCATCCTTTCTCGTGCCAAGCCCTCACATTAAAATACATGAGTTTGCACCTGTGGGTGATTGAAACGGTGATTGCCTTAGCTACACTGTTCAATTCAAACTCCAGCATATCCGGAACATATTTCTCTACCAACACATACAAAGTGTGGGCCGAACTGCTAGCCTGTGTGTCGATACGGCTTAGCCACTTTTTATAAACCAGCATCAATGCACATAACTTTCACCTTAGTTTCAAGTCTATCCGCGTCGTGCCGATGCACGGCTAGTCGACCTTAGGGGGTGGCGTCTGTTCTCAGGATTGTGCGCTGATAGCACCCGGACTACGTCACCTCGCCTGTCTACATAATTTAAACCCTCAAAGAAGATTCCTTTCCTTGGAGGTTGTAGCGGCATGTACGCACGGGATAAAAGACGATGGGTAATAGACGGTGGACCTGAAGCATACCGATGTTGCCTTCCGCCTCCTCATTGCGGGTAAAACGACAAGACAGGCATTAGCAAGGGGACGGTTATCGACATGTTAATGGCACTTTGGTAGCATGCCAAGAGCAGGGCGTGTCTCGGAGTCAGGTCCACGACGGATTGTGCAAGCACGCCTCACGCCCAAATATGCCTACTAAGGGTACGTTGGCCCGTATGTTCAAACGAAACAAGGCGTGACCATCTCAAAATCGAGCGAGCAAGCGGCACTTTTTATGTTTGCGCCATTAAACATCAAACCGTGATCGCTAAAACAGATAAACCCCATTAGCTATGATTTCCGATTGGTGAGGCGCTCACAGAGTTCCTACTACTCTATGTGGCCCACACCCTAGGATCATGGGCACGCCGTTTGTGTCTTGGCCATCCCGCAAGCCTATCTTAATCTCCTAAGACGTCAAATCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTTGAGCTAGGCACCTGGGTAACAGCACATAGCTTAACAGGTCGCAAGGTAGATCCTACTCCATGGGATCGCTCTGGGCATCCACGTAACCGTCCATCACTTATCGTTGCAGCACTCCTGTACTTCATGCAATCAAAGGTAGTCAGATTGTCTCAGATACGCGAATCCGGCCGTCTTCATCGGTAACAGAATGCCTTAGATTATCCCTCCCGTGCTTTCATAGTAATAGTCTGCCATACGTTACGATGCATGTTGGAGTGAAGTGGCGCTGTAGTATGTACCCCCTGAACTGATCTATTAAAAACTTCCACTATAGTTCAAAAATAACAGTCGCGGCACGACTCCATAAGTTGAGCCGGTTAAACGTCCGAATTGAAAGAGCCCAGCCTAGTGTGATTATCCCTGAGGCACTCGGGTAGAGCAGCACCACTGTTAAGTAGAACCGGATTGGAGACCCGCGAAGGAGAATCCACTGATCGG -------------------------------------------------------------------------------- /week6/Problem Set 6/dna/sequences/6.txt: -------------------------------------------------------------------------------- 1 | TCTATTCTTTGAGGATACGCTCGGCCTAGGCGGGGCTAATGGAAGCCAGGCTAATCCGATGTTGCGGTGCACCTCGATACCGTTCTAAAATATCACATCAACGCGCTCCAGTTGTGTGCCAAGGCCCGCTGAAGAGCAATGGAGCACCTACCCGGCCTTCTAACGCTGTCTAAAACTCCAAGCGAATTGCAGATTTTGGTTAGGACCCGTTTAATCTGTGGGCTTTGGTACTATGCAACCAATGGAACCGGTCGGACTCTGATCAGTCCCGACTGACAGGTCTCAAGTAGTTTGCTTACACGTTCTGACCCCCGTGCGCACCGTTGGGCGTACAGCGGTTCGGTCTATGGAATCAAGGAAAATCATTCGTATGGGGACGTAGTCACATAACAGCTGCAGGGAACTATGGAGATGACGAGGGGTCGTTTAGTGGAACGTCAAATGTCCTAACTGGTTCTGAGCTGTCTGGAACGTTGCAGTCAACGTCTACGATCTGGATTCTACAGTCTAGGCGTTCCAAGGGGCACCAGTAAGCTAAGTTGTTTAAATATGGCGGGTGTCGAAATGACGTCCAAAATCGCAAATAAGACAGATAGCAGGGGTGCAACTTAGGTATCTAAGGTAACTCTGACATACCTCATACAACTATCGAACAGTGGATTCCTTGTCGTCCTGTTGTAAACAGTTCAAGTCGGTACATGTTAGCGGGTGGTTTGGACGAGTATACAGGACCTGGCCTACACGGAATGTTTTAGATTCTATGTCCGGCGGGGACATCGCGTGCCGCTAGGATATAATTGGATTGTGGGAAGAATTTGGCCGGATTTTTGGCCTAGACTCGCGCTTCAGACCATACCGTGCGATCAGCACGATTGCTGACAAGCGTCGGTATTAAAGCAGGCTCCTTCCCAGCCAAACTAACCCAACGAAGACATCATGTTTCGCCGAAGTATCTTTGGGAGATGGGCGAATTAATCGCTTAGCGTGGCCGACTTGGGGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGGTTTAAGGGACTTATCCGACCAGAGGGGCAGTTACTTGTGGCGGTCACACGCCAGGACGAGTCTGTTCTTGCTGTGCGTAGATTAGGCTTGATCTGTGACTACAGGCGAATAGTAGGTGTGGGAAACAGAGGGGGGAGCAATGTGATCCCGGGGGGAGTGCTTCCTATACCTCGGTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGGATTATCCCCACCCAATGATCCGATCGCAAGCCTTAATACCATGGCACACCTCTCAACCTACTGATCTTCCATCCGTTTAACCCAGCACTAAGCTGCTCAGTGGTCACACTATGTTCAAGCTTCCGTGACGTGGGATCCTGGGGTCTTCGCAAGGCTAGTTTTGACCATTATCGACGACCGTCACCCTGTGACTGGTTCCCAACAAGGTGTCAAGTTCTAGCCCGTACCTGCAATCGGGAACCTCCGGTGCTTCATGAACCATGGATATAGGAATTATTGGTCTCCTCTCGCGTAGGTAGCGCGAATACCCCCAAGATGACACACTGTGGTGAACTTTGAGGACTCCCAGAAGGGTGACGGGTTATGTGGTTACGCGAAGTCGGCGTATCCACCGCCTAATTTTAAATTCAGCTCGAGCGACACGCGCGCTTCCTGGAAACGTTAGACGGGAAAAACCCCGCCCGAGAATGCGGGTTCCGCGGCCCACTAGGGGGCCCCCCAAGGATCTGACCGCGTATAAGCAATGCACAGCTGTACCATTTCAAATAGGACAGATAGTACCCCCACCGTGACTCGGCCTCAGATAATGGAATACGACCTGGTGACGGCGGTAGGGGTTCTATCTCAGGTATTCAGAGGGTGCATCCAGGTGATTCGTCACGTCCCGATTTCGACCCCACCACAGGATTTGTGCGATGGTAGTCTTGATGCTGTTTGCAGGCGGCCAAGCATCTAGGAGATGCCTCACTGCGCGAGATGAACCGGCGTTTCACAAGGGGACGCCAGGCCTTGCCGTCTCCATAAACCACGAGAAGGTATCGAACGTCAAACGGATAAATGCCGCGATACCGCTCGTTTCGAAGCGGCACTTCGATGGAAATGAGTAGTATGGCCTCGCCACACGACTACTCATCGGCTTGCGCTGACATCAATCCTGGCTGGCTTGAGGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGCTCCATAGGAAGGTGCGGGATAGCGGACAGCTAATCGGACAGAAGGGCCAGCTTGCACTCTCCTATAATTAGCAAGCGCCATACAATTGTAATCACGTATAAAATACAGCTACGTAAGTAATAGAGAGGCTCCCGGACTGTCCGGCGTCCCGCCAGTCTCGTACCAGGAGGTGGGATGGTAGGCAAACGAGCCTACTAGAATTGGGCCACCCTGTGAATAATATGCAGAGGCAACTACAGACGTCCGTCACCTGCCTAGAATCGAGTTCATTGACGGTGGGATATGCTCCGTTACCTGACTGTAGTTCGACTTTGTGGTGCGCACATAACGAGTGTCTACGATGCACAAAGTGTGAGCAAATTAGGAGTGTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTGCCGAGATGTTGGCGGGAAGTGTACGGCTTTGCGTCGTCGAGTGCTACGCAGTGTGCTACACTCCCGCAGCTGAGGCTAGGGCCCGAAACTAGACATTTTTTCTTTTGGCACTTCGTTCCGTATAATGAGTTCCCTCAATTCCCCGTCCGCAAGCCTCAGGATTACAATTAATTATACGGTTAAAGTTGGCTGCCAAGCCCGTTATTGACCGGTACCTGAGTCGAGGGGGGGTTGGGGATAGGCAATTATAGTATTCACTCACAGGACGCTCAGTAATGCCGCCGTTGTACTTCACGTAAGGGCCACAGTTTTTCTACCACAGAGGATGATCTGAGGACAGCGGTGCGTGAAGCCCGCTATTCAGGACACCCTCGAAACCCGTGGTTCACAGACAAAAAATTCGCCGCGGAAGCTGTTGCCCCTATGCCCCGGGTCAGCAAGGAGTCTGGATTTTATTCCAAGACTGCGTCTTTATTTTCTGGTGAGTATGAAATGACTCTGAGAAAATGGTCGAACCACGAGCTAGCTACAGCCACAGTCCGCTCAACTAACTTACCTCTACTCTAACAGTTACACGGCTTCCCGTTTTATGGGAAGAAGCACCTGTTCCTTTCCCAAGCCCCTTATAGCAGAGGTTGGTATTCGGTTGATTTGGAATAGTTAAACAGCGGCTATTTTGTAATCACTTTCCAGTCGGTAAGACATTCGAACCTCGTTTTGACGCTGCTCGCCATCGCGTTCGACTAGGAGTATTCCACTTTTCGGAGAGATGATTACTCATGACGCGGGGAACTCCATGGCTGTCATGCAGGATCTGGGCTAAATAAGATTAGATGTTCAACTGTCGTATACTTACTGCTACCAGCGGTGCTAGGCCCAGGACCCGCCATACCTGGCTATTGATCACTCTACCAGATGTCTCTTGACGAGTTACGAATTGCTGGGTGCTCTTGGAGACGAGTTGAGTCCGTAGTCGTGGCTGGGGAACGGGCGAGTTCGTACGTACCGTTTCAAAGCCCCACGAACCCAACCTCTTAGCCTTAACCCCACATTAGATACCCAAGTTGCATGACGCATTATGCGAGTACGACACTGGTATCGGCTGATCCGTCACTGCTCAAAGTCCAGTGGTTTCCTTATCTCGGGCTGGAAAGTGTAGCTTGTTCCAAACCTTCGAGAGGTTGATCGATGACCGGTTCTCACACACATCTTGCGGAGGGATGCTTGCGATGTGGCTTTACGTCCACCGACGGGCCGACTAGCTGGAAATCACAAACCCCTGCTCCGATAAGGTATTCTCGTTGACTTAGGGTAAACAAAATGCCCGTTACGTCCTAACCGAGTTTCCGGGCCTTCACTACCCGCGAGGGATGTGTAGTGGGGCCATTTACCTAAGCAGATGTACACCGAGTTACGATAGTCACATGGCCATTCAAAGCGTCTCACATAATCGATCGATAGATGATGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCCCGGAGGAAGCTGCGATTGGAATGCGGCTAACTTCGCTCTGCAACATTCTTGGCAGACGGCCCCAATGGCGTAATTTAGGCGTGTGTACCTAAAGTGGTCTACTCCTATGAACCGAATCGCGGGATAAATCGAGTTGGGACTGCTTTGCCTTAATTACATTCACTGATTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGGTCGAGCACGGCTGGCACGTCCGGCTCCATCGCGTCGTAATCCATCCCTATTCGACCAACAAAACCTCAGGGGACGGGATGTGAGTGGGTATCGATCATTATCGAACGCCCATAAGTACTCCACTCATCTGTCTGAAAAGTTTGTCGAGTGCCGCTCTCTGAAGAGTACGATAACTTACTCCAAACACTCTACGCCTAGTGGTCGAAAACACTAAAGGGAAAATACTCACTGACTTACTCTGTCGCTCTACGATTGCCGCGATACCTTAATAAGACACGTATCGGCTGTCGCAGCGATGGATTCCTTAAGCGATACAACTAAGATCAATCGGTGCCGGGCCTACAGCCTGGGCCCTAGCTCCAAAAGTGATAATGGATAGTCGGTTCAAGCGAATTTACACCAGACTGATCCTTTACGGTCATTCCGACCGCCGCATGATACATGCCAAAAGACACTTGTCTTCTTTCCTCTAAAAGACAGACCTTGTTTGCAAGGAGAGCCCAATCGGCACGACCCAAAGGGATTATCAACTGAACTATTATTGCATACTACTAAGCAGACGGACCGTATAGCATCATTGATACCTATTATATTTCCATACACCAACTCCATACGCGATGGGTCGAAACTACAAGCTTCACTTACGTGTACAGCCGCAGGACCCACTCTCTAATCTAGCCAATGACACTACTAATTTGAACATTCCCCAGCGATGAACAGGCACATGAGCGGTCCTCGTACCCACCACGGCCCGCTCAACTGCAAGGGGCCGCTCGGATCAAAGTTTTTCACTAACTCATGTCGAGCAGATCGGCATGCTCAAGATAGTATTTTAGGAGG -------------------------------------------------------------------------------- /week6/Problem Set 6/dna/sequences/17.txt: -------------------------------------------------------------------------------- 1 | CTTTTGTACGCCTGATGCTTAGGCAGAGACGCGCCTATGGTTGCCGGTTACGGCGAGTTACTTGGAACTTATAGCCTCCGACGCCTGAAGAAGTATCCAAGGGTTTCGTGGGATTATCGCAACAGACGATCGGATCGCTCTATCGATGTGACGGTTATACGATACGCCTGGTAGGACCCACGCAACTTTATTCCGTATCGAATTAACTTAACTTGTCAGACAGCGATTCGGGAGGTAATCTTGGGCTTCCACTTAATTGATCATCGGGGCTCTCACAACCGAAATCCGGATTTACTTGGTGTTACGCTCACTGCCAACTCCTTTTTTGTCTTAATAGTGGCTATGAAGGAATAGTAACAGGGCTTGGTTAGCCTTCATCCAACCTTAGTTTCTAGCCGACAGGCGAATAAAGCCTACAACATGCCTGCAAAGGAGGACCTGTGGAACGGGAAATTTTTCCGAATTAAAATTAACGAAAGTAAGGTGTTAGTGCGTATGGACGCCAACCATCTACGCCTTTGGAAATAACACAAGGGGACTACACGCTAGACTTGACCCTAGAATTCACCGAAGGTAGCACCCTCCCATGATCCCCTAGCAACGTACTGCCCTAGAGAAGTGGCAGACCTGCACTCCTCGGGGGATATGCTTAGACCGTAGTCTTGGTAACACGCTACATAAAGCCAGGTTGCGCCAAAAGAACGTTTGAACTGGAAATCCTGTTCCGACTTCAACTACGCTGCTGAAGTTGAGATGATATTCCTAGTATCTTCCAACTCATATGTCGTGGACTCTGCGGCCACTGACGAATAGAGCCAGGCACCTCTACCACACGTTGTATACCGAACCACAAGACTCAAGCACCGTCCCTAATGTTCAGATCTCCTCGTGCCGAGTATCCGAAAGTCGTTACGCTCATTCTGAATTTATCTATCTATCTATCTATCAGAGTCTGTGCTATTTAGCCTGTTCTGTCGACGCTCGATTCACCCATGTTCGCGCTAGCGGAGATGTTCTTAGAGTTAGATGCTGACAGCCCCCAAGGCACCAATTTCGTTATGAAAGTATACGGCACTCGTTGACGGCTCTCGCGATCTGCATGCATTGTGCGCTAGGGCAGTCTAGCAGGTTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGAGGGCCCTAGAGCGGAGTACCAACTAATTCAACAGGCGATAACTCAAGTGCTAATACTCCACTCCAAGAACGAGGGAATGTGAGATTGTTGTACTATCAGCAGTATGTGCGGCCAACAAGAGCCACAACTCAAGCTACTAAATTCTTGTAGGAGTATGCGCACCACCTGTGTGGGGATAGTACATCTATGCTATTTGGGTCCAGCGTGCTGTCTGGCTGGGTTGTGATCTTACAGGGAGTAGGTGAAGCGACAGTAATAGGTGAATACGATTTACGGTCTTGTCGGTCAACAAAAGGGGCGGGTACCGGAACCCTGAGGAGCTCGGCTACACGGCTCATACTACTAGCACCCTAGAAATTCACTTCAGTCTTATTGCGGGTCGGCCATCGTCTTCTAACTAGGATACGCGTACGTCTCGGCGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGGTATACTCATGTCGTGAACTCACCGAACTATACGTAGCCTCTAATCTTAGAAACATAGAACATTCGACGAAATGCGTTTGGAGGCGTCGACTAAGCCGGCCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCTGGGATAAGATTTGCCAACGTGCGGTATCGCCTGAATCACTTCTAGCCGGGGACCGCTTCCCGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGCTAGGTTAGTCGGAACGTCTTTCTAGTTATGGCACATAGTTATTATGTAGGATACCGAAGCGCAAATACACTTAGCTTTGACCTATATCCGGCCATGGTTGATACTCGATAGCCTTTTTTGAGAAGAACCCGCGGTAGTTCCCCCTCATCCGCGTGACCGGTAGCATGTAGCCTCCGCGTACCTTACTTTCTATATAGTCACTTGTAAATAATACGACGCGATGTCCCGCCATTGCTTATGGAATGAGGTAGTAAAAGGTATTAGCCGGGCTAGTACGAATTTGAGATGATAGGGTCCGTGTGCTTCTAGCTCTCGAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATATTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTACTTGCCGTCATTGCAAACGTTGCACAGCTCATGGCGGCCAGCAAATTACGCAAGACTTCTTCCGCGAGTGCTATCTTGCTGAACTTAACGACCGATATGATAGATCCATCGCATTAGTGCTGCGACAATACGCGTCGGCGTACCTTCGTCTAATTGTAAACTACAGCCGACTACCAAAGATGTACAAGCAGGCTGCCGCAGTGAGTTTCACGCAGATAGTCTAGGTCATGTGCCAAGGAATGCTTAACGATCAGTGTCAGGTTGCCGTTAGCCCCGTTGATCGAAGAATCTCTGGGATAAATTTTATACCGACCATTCTCAGCGTCCTACTCTAGATACGTCCCGAACCGATGATCCCATCAATTGCATTATGGAGCGTCCCTCGAATGTGAGGAGCTCCATGTCGACATAGGAAGACTTATATTACTGATCAGTAACGACCAGCTTCGGTATGAAAACCTGACCGAGTAGTGCCAGAATGTAGCGCCCATTTTGGGGTGAATCACCTTCGTTAAGTTGATTATTGTTTATCTGGGGTTTTCCTACGTAATTGCGCCGATGTTGCAGACATTTTGCACGGAAATACCTCTGCGCCTAAAGCCATATCTTACATACAGTCGTGGAGGCGGGTAAGGGGGATGGTAGGGCAGGGCTGGGTCTCTGTACGGAGCTGCCCGAGGGCGACCCGACACGCGGAGAGCCCATCATTGACGCTGTATTAGTTAGGTGTATGTTCGTCGAGCTGGATAGGAGGGGAATGTATATCCGAGCCTACAGTGAACTAAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGTTAGAATTAAGGCATGGGGATTTAACAAAGGGAGGGCGTTGCACTTGTCAATCTGACTTGCAAGTCTTGGGAGACTCTCTCGGCCTATCATCCCCGGGGGTCAGCTAACTTCTCTGCTGATGGCGCTTCTAGTATTTTTCACGTGCGGGACACACGACGTTTGACGGGGAAAGTGTTAGAGTGGTGGACCCTCCAACGTATGTTCATCTATGTTCGGTGGCTTGTCATTTCCTTGCAGTGCTGTTTGCCTTAAGTACCAACGCCAGGGCTTAACGGGTAGGCTCCGTAATTTCCACCAGAGTTCACCTAATCCTGTCTCTTAACAGTGGCTTATTCGCTAACGGGACGGCTGGTACACTCATGTTGGGCTCAATCACACGGTTGCCCCTGGGGCGCCGAACGCGGTCGCGACAAAGAAACATCCTCGCCCCCGCTCCAGGAAGTAAACTTTAGTCTCCTTCCTAAGCCAGCTCACTAAGGTGGCAATAGCTACATACGCACGACCTCTACCTCCTGCACGGGGGCCCAGCATATCTTAGCGAATCTCCCGCCATGCAGTAGCAGAGAATTTTCAGACGAATTGACACGGACACTTCCACTCTACGTAATTGAACATGCTGTCCCTTGCAAGCTTCGCCTCCCACTGGAAGGTAAGCCGCGAGTTAAGCCAGAAGTAAATTCTGTCAGACTCAGATTCGATCTCCGTAGTCTTGGGTGTGTTCCGTCGCACGGCGAAATACGGAAACTAAGGTTAGACTAGCCTGGATAACTTGCACAGTGGAAAATAGAGCAACTATGTGGTGAGCCTATGCTAACAAGGACGATTGAACACGGGGGATGGGTCACGCCCGAGCATTTTTCAGTATTAATCTCGCTATAACGTCTTGACCTGATTTCGGCACACATATTATGCCTCGACCTCTACTCGCAAGAACTACCTCCATTAAGCACGCAACGGCCGCGAAAATAAGAGTACTGGCGGGGGAACCATTTTTACATCTACTGTCGCCCAAGGAACCGTCCCCACCGAGAGCGTTTCGTTCCGAGAGTCCTTCTTGGTTGAGGAGGTAGCCGTTCGCGGCTTGTCAGTCATTTGCCGGTCCTCGTCACTTAGTTGGACACCTAATGGGGTGATCATACCTCGCGAACAGGGGGAGATCTATAAGAACACGCTATCATTGATACGCCGTTCCAAATAGTTTTGAGCTCTCCTTCCTTTCTATCGAATTCGCTTTAGCCATCTTCCGACGTGCCACGGTACGGCGTGGTCTTCAAACATAGTGTACGCTTGGCCCAACACGTACGTTTGTAACGAGCCAGGAGGCCAAGTTGATTTTCAATTATATCTAATCCATTCGATCGGGGGCCCGACGACCTCGCGCCGCATTCTGCGCTCCGTACCAACCCTAGGGACGGTGAGGCCTATTCGCTCTTTCTTAATCTGTTTGATTAGATTTAGTGCTTACAGGGCTGGACAACAGCGCTTTCCACCGTACCTTTTGTAACATGCTATCTCCTAGAAAAAGCTGTTAGAAGATCCGGACCCACGCTACCAGGGGGGGAAACGATCATCATGGACTGATTTGGGATCTTAGCTCCCTGCTTGCTCGTACGATAACCATTGGGAATTTAGTCCT -------------------------------------------------------------------------------- /week6/Problem Set 6/dna/sequences/15.txt: -------------------------------------------------------------------------------- 1 | GGGTGAATCTCGGACAAAAGGGACCCAGTAATGGGAAAACACCCTGTACTTTCATTTATCTTAAGGAAAAGGCACTGCGACTTGTGACTGTTTTGTGCTTACCGGTCTGCTGACCACCTCCGCAAGATTCACCGGGCCCTCGCCCCTGGGCCCGCGGGGCTGTTTCCCCATTAATTCTGCACGGGCGAAGGCGGCCCCTCGGCCCGATAACGGACGTTGAAAGGCACCCAGTGTACCAACTCTATCGTTGTTAATCTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTATTACAGCGGCATCACTATACTATAATAGTCCGACATGTTAGAATTCTGACGCGTCGAACCGTAGGCGAGTCCGAGTTTCCTACTCCTCACGTGGTCAGAAGTCCCGCTCGAGGATACCGATAAGCCTGAATTCTTCATTTCTACTAACTCGACAGACTGACTCACGCTAGTTTGGTTACTGTCCCGTACCCGCGTTTTCCACCTTAGTCTTGCTGGCGTACACTTTCAAGCGATAGCATGCTTACAATAGGCTATTGCGACGTGTCCGATCCTACATGTACTCATATATCGCAACGGCCCAGGTTACTTAGGGACTAAACGGCCCTTTAAAGCGAGGGTAGTAGAATTCAGGCCACTGAAATTGGGATTATCTAATAAATCACCCGCCGCCGAGATAAGGCAGCTTACGAGTGAAGTTTGCATCACGTGCCTTTGTATTATTAATCTCGACTACCAACTCCTCAATTATAAGCAAGTTCGTTCATAAATAGTCAGATGCTTGGGGCGCATGCGGTATTGGAGTTGCCATGGTCTACACGCGGCCCTATGCAAACTTTTCTTAAGCGAGGAAGTCTTCCGTATTGCGTTGCATTTTCTCAATTGTTTTAGTCTTGTCGTAACCAATGCGGTAAGAATGCGTTTACAGGGCCGCGACCCCAACAATCCTTCCTTCGAGGAAGGTACTGAGTAGGGCTGGTCTATGCCGGTACTCCTTAGGTTGTTCACTCATGCCGATACCACTCTTGGTTTCTCACCCTTATTCTGGCACTGGTAAAAGATAAAGAGAACCTCCAGTCTAAGCGATTTACTTGGACACGCCCTTTTTGAAGTTCGGGCACACTCCGATTACCTAGAGCCCTAATGGGAGCCCGTAATTTCCAATAAAAGGAAAGTGGCTATCAAGCCATCCGCTCGAAGCACGTCATCCGGTACTTAGGTGTCCCTTGTGTCGCTTAATTAGATGTTGTACGAACGATATATACGGGCTAGGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATACGTCCGGCATCCAGCTCGTCAATCTTTAAGTGGCGTCATCAGTAAGTGCACGTGGTCTTCCAAACCCTGTGGCGACACTATTAGACGTGGTCGGATCGGTCTTTATCTTTGGTTCTGTAGTAGGAGAACTCATGGGATGGTTATGGAGTTTGACTACAGCGTCTGGTCTCGGTAGTCCCCACACCCTCTAGCCCAACCACTAGAAAGTGACTAGTAATATGCGTTCTGCGAATCTCAGGGGTCAACCGTGACTATTGATCTTACCAGCGCATCGCTCCGCAAGCTCAGTAAATTTGATGTTTTTCCACAACCGAAAGAGCGATTAAGTACTGAACAAGAGTGTTAAGTCCAGTACTAACAATTAGATACATACTCGACTCGTAGAATCTTTCGTATTCCTGGTCGTACCCAGCAACGCCAGCAGAGTTTAGTCGACTGGTAGTTTGGAGTTTTCGAGGACGGAGACTGTGCATAAACTGTAGACATTCTGAAGCGCATGTCGGAGTGTATTCACGTGCACGCTCACCATGAGTTCAGGTCTATGGTGTCGGCGTTCACAAGTCCATAATCTGCGTCTCGTGACGTGACTTATCCCTTGTCACTCTAGTTGGACATCACAGTAGCGTTCGCCTCCTTCGTAATTCCTATCCCCAAAGAGAGTATTTCAATTAATACTCTAAACTCGAGCGCCGAGCGACACCATTCCATTCTAAATCTGGGGGCTCACGCGCTTTCAGTCGTCAATTTTATCGCGAAATAAACATGATCGCTATAAGATATCCCTTCCTCATCTGTTGCCCCAACCTGAGGCGTTCTAGACGTACACGATTAACGCGTTACGCGACAGCAGAATCGAGCTACGTGCAGAGCGTATCTGCGCCGGGGATCGCCGTAGAAGACGGCGCTAGCCAACCAGGGTTCGACGAACTGCCCTAGGAAACAAGCAAGCATGCTCGTGAGAGCAGGACCTTCTGCAGAAGATATTGCGATACATGAGTTTCTACGGTATTGGGTTATGGAATCTAAGAGGGCCAATGGAAATAGTAAGTTGGGGCGGATTATTTGAATACCGTTCGGTGGACTGTTTTCCGGAAGAGCGATGCCACCTCCTTGGTGTCTGCATCGAATAGATGCCCTGTCTTTCGTAATCGGTGAACCCATTAGTGACTCATTCGTGGCCGATACATTTACTTATACGTCTTGAGGCGCAGCAAGTCTAGTATGTCGTATAGAAAGCAGGTTTGCTTAGTTCGACTTAAGAGTGACGCTAGGTCACGAATTTCTCGTCCGGGGCATGTCAGAGATTGATTCCTTAGATACTGGCCAAACCGATACTACGCGTTGATAAGTGAACGACATGAAAGTTGACAACACCCTCTAGGGTTCGAACCAAAACAGAAAGTAGGAGCAACGTTCTCGGAGCACCACATCACTTGAACCGCCACTTCGACTTTCACCGAGTGACATAAAGACTAGTGGACCCCATCTGTTACCAATAAGGGGCGTGTAGATCAGCACTGGAATACAACACACGATGCCTCAGTCATCTCACTACGTGTCTCCTCGCTCCGCGTTCGCACTATTGCTCGCGCCCACCGCACACTACCGTGTTGAATGACGAAAGTTGCGGGGCTTACGCTCGGTGCAAAAGTTTCACATCTCTTGATAGCATTGGGCAACGCCGACGTATAGCTATGCAATTCACACGGCCGCAAAGCTATTTGACTGAACGTCTAGCATAGTGGTCAAACTGGCTCGAGCTAGATCTTGACGCACGTTCGGTATCTTGGAATTACCACCGGTACATGAGAGCAAAAGGGGAATCCTTGGTATGGAATTTACAAACCTGATCATCTTATTAGTGGTGTGATGAGATATCTTCATCTTTATAAACGTGGCGCGGCCACTTAGCGCTCAACGGCAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTCCGTCGGCTCTGCGACGCGCGGAGTCAGTCTTCTGCCCCGGGGTCAGCCAGTCAAGACCTGCTGGGAAACGAAGAGAAAGAACAGTGCTAATGCAGGCTCCTCTGACGTCTATGTACTATAGCTTTTCCGCACGCGGAATCTGTCATTGCTACAAGCCGTGCCCAGGGCGAATATTCTGGCCGCACCAAAAGGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAACGGGGCTTTGCCGTCAATAGCACGAGCTGAGACGGGGAAGCCCGTATTTCATACAGGTCACGTTCAAGAGACAGCGCATTAAAGATCATGCGCGGAAGGGTTAGCAAGGTCGCAAAAGGAAACATTGTCTTTTTCAAAGGGGCCTCTGCCCCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCCAGATAAACACATGTCTTGCGTTTTCTCGCCTGTTACTGGCTCGGCTCGCCTATGTCTTTTATATAAAACTATAAGGGTGTCGTCTGCTCCGTTTGGTCGGCTGAACGAACCTATGTTCTGTCTTTACCACACTTTCTCCGTTGCAAGGCTCAACGCCCCCAATTTTAAAATGTTCGAGATTCTGTCTGTCTGTCTGTCTGTCTGAAGTTAATAACCGAAACGATCTAATTTACAGTAGACATGGGCGAATGGCGTAAGCAGACAGTGACCGATAACGCTTCCTCCGCGCAGTTGGCCCCGGCTGACTCAAGAGCGGTACGGTCGGCCTTCTTGGCCATAGCCTACACACATCTCAAATGTCGCAAAGCGAACTACCTGCACCGGAGTCCGGGAATCTACTGCACGTTGGGCCTCTTGTACTGATTGCTGCCCGCTACGAACTAGAGCATAATAAAACTTCCGCCGAACCATTGGACTGAGATCAGAGGTAGCTTGATATGGGATCAGAGTTAGTCGATCCAAGTGAAGCTTGTAAGCCAATAGATTGAACATAGGATCATATTACCCCCACCGGTCCCACATTGCTGGGACGGACCCTGTCAGAGAGAGATCTAAACATCATTTGGACTTTGCCTATCTGCGGGACACCACAGGAGCTCCCAGCGCACGAAAAGAGCGGATTCACTAATCCTCTGGCAGTCCTCTTGAGGCATGGTGGGGATGGGTAATTAAGTCGAGGCCGTAGCACGGGATCGGCAACACAAGAATGGCACAAAACATATTCCCTTAGCTCCAAGATGTCGTAGTAGTAGTAGGATGAGAGGCGTGTCATGGGTTCCGTAGTATAGTGCATGCCAACTGTCTTGAATGCTAATATAGATCTTGGAGGAAGCTGGATCGTTGGTCCCTCCGACAGACGATTAAATAGTGGCGTAGATCGCACAAAGTTGCATTAGCAAGCGGGGCGTATCTAGAGTTTACTGTGCTGTAGGATCGGCGCGCTAGCAACAAAAGATTATCCACACAACAGACGCCCTCTCATGTCATAGACCGTGGGGGGGTCCGCACTTTTGGATTGCTGCTATACTATAAGACTCGTCTATCAGAAAACTTCTCGATGGTCCGGAGCCTCAGGACACCCCCCTCACCCATCGCCGGGCAAATGGCTCACCTCGATAATTTTAATCAACGGTGAACATCCAATTCCACACGGAGAGAACCGTACGTCTCAAGATCACTGCTTGTTTAAAATTGCAGAGTAGACCGATTCCGTACTTTAGAATCCAGCGATCCCTCAGCATGTCCATTTGCTCGACTTAATCATGCTGGTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCGCCTCGCTATCGACGTCGCATACATGCTTAGTTCTTGCCCAAGTTGACTGACGATCTTAGTCATAGTCTCACACCTGATA -------------------------------------------------------------------------------- /week6/Problem Set 6/dna/sequences/10.txt: -------------------------------------------------------------------------------- 1 | TCTAGTCTAGTCTAGTCTAGTCTAGACTTGTCGCTGACTCCGAGAAGATCCTAACATTAACCAATTCCCCCTAGTCTGAGGCACGGTTACCGATCGGGTTAATGGATCTCTCACCGTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAAACGTGTAACTGTAATAATCCGCCCGAAAAAACTGATCTTAGGGTTGCGGCATCTGCACGTGACAGTGTGCTACTGTTAGATAGAGGGATCAAACGAGGTTGCAAGGATTATATCTCTCCGTGCTCGATAAGACACAGCCGGTTGCGGGCTGCTTCCTCTGGATCCAATGCAGCCGTACGTACACCGTAGAGCAAATTTAGTGGTAAAGGAACTTGCTCAAACACTACGGCTTCGGGCTACTGTTGGCGCCGGTTGGGGATCCCATTCAACGCTGGCCCTTTCGCTATGGTTCGGTGATTTTACACCGAAGCGAACCTTGAACCGTGGATTTCGGGTGTCCTCCGTTTTTAGGTACTGCGTGCAGACATGGGCACCTGCCATAGTGCGATCAGCCAGAATCCATTGTATGGGAGTTGGACTCGTTTGAATTTACCGGAAACCTCATGCTTGGTCTGTAGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGAAACTGGGCGACTTGAAGTCGGCTTGCGTATTAATAGCTCTGCAATGTAACTCGGCCCTTGGCGGCGGGCAGCTTAGTATTGAACCGCGACACACCATAGGTGCGGCAAATATTAAAAGTACGCTCGAACCGGAACCTGTCTCCATGACTGGACGACCAGCCCGGCGTCTTCTACGTAACACAGGGGGCTGTCGAGGTAGGGCGTAGGAACTTCGGGGTCACTACGCCGTAACAGCACCGAATATCATATCATCCAACTTGCTTGGTACATGCCCCGTTCTGTATCAAAAGTTTACGGCCCCGGACATACCTGCTGTCAGTTGAATACCTATGCGAGTCTGAAACACGAATAGTTCAGGCGTGCAAAGACACGCTAAGCACACGCCGCAGGCAGGGGGGGTATTTTATAAGTCGTTTTTTGGAAGGGTAATGTAAACTTATCCCATAATACCCTTTGGCTTCCCCTCACTCGTGCACTTCTCATAATGATACGTCAGGGTGATTGTAGATTCACGCGTCATCAGATTGTCCCTTTCTCGAGTCTTAGTATCTTTCCTAATCCGCTCGACTCTGCGCCATGATCGAATTCCTGACAGGCTACAAGAATAAACTGCCAGCATACTCCTTACCGATTGGCGCCTACTAATTATACGCACATGGGCATCTTCGACGTCTAAACATAGGCTCTTAGTATTCCGTAGGATGTTGAGCCGACAGGAAAGTCAAACGTCGTGGGTGACCGTAGCCTGACTCGCCCGACGCAGGATTCGCTCATATGTGTGAACGGATGCTTATGTAACTTCCTAATTGCAGCGAATGGCAGTTCCGTAGTGAAGGTTCGAAACGTACGGGGTCCGGCCATGGATTAGATCTTTCAGTGCGCTAAACTCTTAACCGCAGATACTTGGCGGACCATCTTCGTGTTGCTACTATGGTATAGACCAGGCTGTCGAATCTACTTAACACAGGTGAACCCCCAGATCGGCTAGAGCCTTCGAGGCTAGACCTTTAACAATCTTTAGACACTTCCAAATCGCGGCCGGATATGTCTCGTTGGCAGCCGCAGACAAGAGAAGAGGGTCGGCAGTGTCTGCCACGCGTGACCTGTATGATCTTAGCCTTTAAGATCACACTACTGATCACAATCTATTATGATTGCCTTAGCTAACTGAGTGATGCACCCCCACAGGCTGAGAGAAATCTGTAGTTTGACGACACGCCGTCTGGCTAAAAATGTGAATCCGCCGATCCGAGACGGTGGAAGCTTGAGACCAAATGCGGGAAACCAATGACTTCATTACGGAACAAGACATAACGGCGTGAGTTGACGACTGGGATTAACCCTTTCCCGAGTCTGTACTTCTGCTACACAATGAGGATGCGAATTATCTAAGACCTTGTACTACCTAAACTAACCCTGAGGCGGGCATTGAATTCCGGCCATCTTCAGCCCAAAGAAAGACCAAATGTGAGGAAAATGAGGGATCGGTATAAGCTTTTCACGATCTCAAGGTTCACGGCCGCCAGGGCCGTAGTTGGGGCTTCATGCACATTGCCAACCCGGACATCGACAGTCGGTACCGCAGGGGTTCGAGGAATACTCCCAGCTGTGACACCTGGTCGTCGACTGGACCCAGCTGGTGGGCGGCATAGGTAGTTAATACTGAATTAAAGCCGGGAACGTCTCTCTAACTAGAAACCTTGTGATAGGATACACAGACCTAGTGCCCCGACGTTAGCATTTGAATTCATCTATCTTGGCGTCTTTTAGTAGGCCTGGGTCAACTCCGGCGTTGGCCAAAATAACCGATCTGCGTTATGTGGCCACGCATCGAGTGACAGGGTGCATACAAATTGATGGTCAAAGAGTTTAAACAAGACAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCCCCACGCTTCTACATAGCCACACTGGAGCTAGTCCTCGTGTTAAATTTTTCGCTTGTTGCACGGTTATCATCAGAAGTGCCACTGGTATTCCTCTGTAGCTCCCGTATGCCGAAGGTTGCGGCTTAGGTACTGCTTATACACGTCTCTCAAGTTTGTCAGCCGCGTGATCTTTCTGCGGGGATAGGTGATCGTCCCTCGCTCCGGACATTGCATTAAAATTACCTAGTTGATAGGGCGGCGGAGTTGCATACCGGCGTTCAATCGCGGCTCCAGACTGGTTTGAGCTACGCGTCTGCCAGCGTGAAAAAGCTGATTTGTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCCAGGTATTATCATTTGAATCGTATGTTTTCTGCCGTACGTCAACTGCGTCGTCGGGGACTGAAATGGTCTGCCTCCAGACCCTTACCTCCCGATAAGCCATGACTAAGTATGTGAAGGATCACCTGAATTGCTGAAAGTTAACGGTAAGATATCTGAAAGAGCTCATTAGATCCAACACTTATCTACTCAAAAATTCGTCATATTTCGGTGACTTGCTAGAAAGGCTCTTGCACAGTAAGGTTATAGAGAATGCTACCGTTGAAGCACCAGCCGTTGAAGCCCGCCTTTAACCACGCGATATATCCAATTAACCAAGGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGTCGCCTTGTAATAATTACTTTGGCCCGGATTATAACGAAGGAACTCGCCATGAACTCGCAGCACGTTGTACTGGAACAATCTACTTTTTATAATATAGCGATAACTCCCAGCTTTTATGTGGGTGATATTGTCCTAGCTTTTTAAAGATACCCTCTGGCCCGGTCCAAGTAAGGTCCACATTGCCTGACGTAAGCGTACGGTCAACGGGTGCACCGGTTCCCGCTAAAGCTCGATCCTATTCTTTCAGTCGGGGGGAAATAAACTCGTATACTCTCCACCCACCCGTACGTCCCGGACTAGAATAACTACCGGGTATTTCCGGTTCGTAACACCACGCCATGACGTGTCAACATAAACGCTTCTTTTGAAAGGTGCACATGCAGATTGCACAAGCAGCAGGCACCGCCCTTATCCATATCCTGTTGAGGCCCTCGATCCTAGTGTTCCTTGTTATCAGGATATTTTCTCGCTGTACGTTATTGTCCTTTTCAAATTACAACTGACCGCTTCCTCACCCGCTAAACCCTACCTTACGCACAACCAAGGCCTTGTCCCGGATGAACCCGGCTGCTCCTATGGATAAGCAACCCAGCCCGGCAGTTTACTTCAGGTGTTATCGTCGACTGACACCCTCAGCTTTCTCCCATTACACAGCGAGTATTTTCCGCGTAGCAATGGCAGTGACTTTGAGCGCACACTCAGAAGCCGTTGGAATGGCACCGGGGACGGCCCGATTTAGCCCCGCACACCTCCTGGAATCTTAGATCGCACGGCGATCTCGGTTCAGGCACCAACCCCAAAGAGTGTTTTGAGTTTTTGGTATGGCTCGCCTCAATTATCGGTTTTCGCTGCTCTGTGCCTGTCAACTCGGCTAGCTGTCGTGTTTTGTCGATCAGTGCGTGGACACTCTCGGTCGATGGTCGTGGATGGGACTGTAGTAAGTTTCACCGAAGCAGGAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAACTTCGCTTCATATAACGTAGCCATAGTGCTGTCTGCCATCAATAAGTCTTGCTCAGTGGTGCATACGTCGGGGAGGTTTGTTCCGCCTGGTCAGAACGAGTCTAGGGCGAGCCTATAGGCCAGTCGAGAGCCAAGATTCTATGAAATTAATACGACTACTGGGTGAGAGGTCATACAATTCCCGTGGAATCTGTACCTAAGATATTTCCAGATAGGGATGGCTACTGGTTAAGTTGACAGTGTCTAGATACGTGAGAGCACCTGAGAGGACGCCACGAGTCGGAGCGTGGGCGATCACCCTTCTGAGTCATAAGTCATGTCTATATATCCCTCACTAAAAAGGGCACACGACTATACATGCTTGAGCTTTACGGTCTGGCATGTGGAATGCCCGGAGCAACCCAGTCTTACCATCCTTTACGTACATTTACCGACCCGGCAGTGGCCGGCGCGGAAACCCAGGAGAACGTCGGTCATGATACGCGCCCTCCGCCGAAAGCGTGCTCACACCTCAGGATATCAGCGCTATTACCGGACGTCCCGCGTCCACCATCTAATAATTCAGGTGCTCCTAATAAGTGGGCTGGAGAGCGAGGATTGATATACGTTGAGGAGCTCCGACGGCCCTCTCGTGCGTTTGATGTAGATTGCGTTACCGACGGAGCACGCGTTTGTCAATTTCTGTCTAGGGACGTTTATGTCCTCAATACGAATACCAGGCCTATTTTAGTGTACAAATCACTTAGCAGTCGGAATTGGAAACCTGATGGAAGCGT -------------------------------------------------------------------------------- /week6/Problem Set 6/dna/sequences/20.txt: -------------------------------------------------------------------------------- 1 | AATCCTGGTTGGACATACCGTTTTCCACACAAATGCCCCAGACACTGTACGGAGACCCTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTAAGAACCGGGGTTTTGGCTGATTCACCGAGTCAACCTAAGACACTAGTTAAACATGTTTGTCGATTATATCACCTTTCATATATTCCGAGCGACACTTTTCAATGCTATATGGTGCTTATTCCTGCTTACCATTTTCGGACCCAGGCCTCAACTTTTGCTTGTACGACATGAAAGGTGCAGCTCTACTTGGATAAGGTGTACTACCTAGCTTACTCGCACCGGACCATTAGCTATTACAGGGTTTGGATAGTTACGTGATGATCGAGGCAGACACCGTAAGACTCTTACGCGCCCGACGGTCCCCGTTAATGATGACAGTGACGAAAGGATTGAGAGGCGCGTCAGACCCCTGTTCCCATATTGTATGTTGTCGTTGGTACGGGCGCCTTACGGAGTAAGGTGTTAGGCAGGAATGGCCAAAGGTTGGTGAACCTGAATCATGGTTGACACGCAGCTCTCTACATTTATGGGCGTATTCCTATTCGCGACTACTACAACTCTTCGGCCGCCGGTAACCGTACGGTGGCTAGATGCCGCTCATACAAAGTATGCGAGCCGTATTCAGAGTATAATGACCTGAAGGAGTACATGAGGGTCATGGTCCGCAGGGACTCCCTGTCATATGCTGAGATGGAGCCATAATCCCTGCCAGCCGTGTGGACTCAGGCATTCCTGTATTAAGCACTCTAGCCCTCGTGAATGCTTGGAAGAGTCACCCAAGGAATCGATTATCACAGGTTGGGAGAGGATGTTTTTCAAGGCCCTGAAAATTTGAAGGGGCTATTGACTGCGGCGTTACAACCAAAGAGATGACGGAACCATTGCTTCCGTCATGCTGGTGTCCCTGTGCGACCCACCGTGTTTGCTCCAATAAGTGGAAGGGTAAATTGATTACTACCGGTTTCATAGGAAGTTCGAGGTGCACGGTTGAGTAGCATTAGAGCTTCGAGCCAGGTTACCATAGTTATCTTTATGGGGCACTCGCCCTGATGTTTACGCCAGGGTTTAGCTTTGTGATCCGTTAGGGGGTTACCTACGACGCAGCAATTAGCGGGTGTCGCAGGTGTGTAGTTTGTGGCACCAAGCCAGCGGGCTTTACTTAACCAACCCTGGGAAGATCACTTCATCCGAATATGAGATCGCCCAACGCTAATACGCCGAAATGGGAACTGAAGGTCTTAGACTAGCTCACGAACCGTATACCTTAAGTTCCCTAAGCGGACGAATTTTTACTAAGTAAGGATTGCAGGAATATGGAAATCATCCGTACGTGCTTTGACGACCCAAAAAGAGGATCAATGGTATCTACCCAAAGCGTTATTCCTAGTACCAGGAGCCTAAATCATTTATAAAAAAATGCAACCTTTACCGTGGAGCGAAGGAAACTCTACTTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGGTGTCAACCGTAGCCTGGTAGATGGAGGATGGTCGACTGGCTCAGATCCACCCTTGTGGCGGCATAACAAAATGTTCACTGAATTGGGCGAAAAATTAGCGAGTGTCACTTGACAAGGACTGAATAGCAGCAACAACCGTCGAGATCGTTGTCCAGTCACGCGGACTGATGATCTTAGATATAACGCAGAACTCAATGGCTCCTCCTGTACTATGATAGGGCGATATAGCGAGCCGAAAACTCGGGCCGGATGAGCGCTCACTGCGGTCCCGCAGCGCTGTTACGACGCCACGTTACCCTTGATCCGTGGTTGGTAGTGTCGCGTGATGAATGCACGAGTTGGTACCGTTCTAAGATCGACTACACGTGGCTCGATTTTAGCAAGTGTGCGATACCTGAATAGTCTGTAACAGTCCGGCGACCCATGGAAGCCGTTTCGTCCCGTATGCCAAGGCCCCGTTTATCCCTCAGCATGGGAATGACGGCCACCAGTGGTCCGTGTTCGCGATCAGTCTCGGGGAGGTACACACCCTCACTGTAAACTGGCAAGGAGGTGATTTTGCCCAATCTGAGAGCCTAAAGTGGCAGTACAGGTTCCTCACACATAACGAGGTACTTGCCTAACTACGTCCTATGTAGACAGGATAAGAAAACGCAGAGCGCGACCGCCGTGCAGTAATGAGTACTAAGGTAACTGGCCGCTCATATGTTCAGTACTGTCACCGTGTTGGTTAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAATCGACGCTAAGTCGGCTTCAGACTCTTGCGATGATTCCGATTCGGCCTTTTCCCTCAGTGCTTCTCAGCAGGCAACTTGCGAAAAGCATATCGCGCATTAGTACAACAGCAATTACTACACGACCAAAACGTCGTGGAGAGTCGCTGTACTGCAGCTCAAGGGTGGCCGACCATAGAACATTTAACGATATGCACGATCCGGTCAAATATCACAACAGAATTGTGTGCTAGTAGGGGAAAAGGGGAAGGCCCTTCCTTGGGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAACCGACTCATTGCGGAATTTTCAGTTTTACAATGCGGTGACCACTAGCCAACGGCGTCATTGATAATGATACTAACTTCCTTGGGGCGACTCCGGTTTAAAAGTGGCCGGTACGCTTGTTCGACATCATGTGTAGCGTTATTAGGACTGAATTACCGGGCCCCGTTCCGAGATGTTCTTTTTCGGCCCCTGGCGCAGAGGCGCTTGAGCTGCATATACTGGAATATAAGAGGTCACTCGCGAGAACGGTCACGCTACCATGTCGGCAGGATGCAGGATCAGGAATAATGTGGTAGACCTGTGTTCAACGGTGATCTCGGTGTGGATCGGGTGAGCACCAGATCGACTAACTAAGGGATATGCAAGCAGATTCTTCGGACGCCTTTGCCGGTAACACATGGAACACGCCTATGCGCTCCATTACTGGGTGCCTTGTTGAGACGGATAGGTCGGGTTCAATGATTATTAAGGTTTATCAACGTATTACTGCTTGTAACGGCTTGTAAGTGCCAATTGTCATTCGACCCCGGCTGGTCTGACAAGGTTTGTACGCCGATTTGGCATGAGGGGACTAGAGTGGAATAGGATTGTGCACTAAGCTGCGGTCCCGCCTGCGTACCCGCGTATCAAGTGGCTCGGTGGCTGGTTGCGATTACTGAGCTCGTGCATTGCTATCAGTGCGTCCCCTGCAAGAACAGGTATCAAGTGTGGTTCCGTATTGCACGATTGACAATTTCATCGGGTATTCGCTCGTCGGCAAACATTGAAGGCTTCATAGGTTCACAACCGCGTTCCCTGTGATGCGGAATCGCGAGATCTGGATCATCCTTCTAAGACACTCAAAATGCAGACGTCGAGAGACGTATGCGTCCGCGGGAACTATGGCATCTGCCCTTAACATGTGAAGAGACTGCTTTAGCTCGATCTAACCGTAGGCCCTTCATGAAGAGAAGCCATTGTCGGGGGTAGTGACTTTTGGCCGTACGTGATTAAATAACACGGAGTCAAACTCGGAGCGTTCCGTCTCTGATATCGCCAACATCGCAAGCTCCCTACGTACCACCCTGGGTGAACACGACTTTAATGCTTTGAAAATATTGATGGAGACGGCACAAATTTCCGAAAACTCGAAACTTAGTAAATTTACACTGAAAAACCCGGGCGGACAAGTACAAGAGTCCGCGCTCGTAGTGCTCTGTTGAAGCGTTGACCTCTGTCGCTTAAAATCGTAAAGACTTTATACACGAATATTGAGTGAGAAAGAGTCCCCGATCTATCATTACAAATATTCCGTTCTACAATCTGAGGCCAGACAGTTTTGTTCCCTCTCCTTACCTAGTGCCATATCGAGGGACAGAAATTTGACACCTTGCAGTCACACGTTGTTTTGAGATATGCAAACCACGCCCAGTGTCGAGATCCCACATATCTTCATTATAAGCTCGACCACTTGAGACTGCAGCACGAAGGCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGAAATTCCAAGCAATGGCTTCAGCGCTCGGACGCCCCGCCCGTGCCCGGCGTGAACATATGGATGTATGAATTATTGCATGGTCTGTATCTTAATGCGCGCTTGGCAACACATGTGAGAACGGTCTCACGTGCGACTACGTATGATCTATGCAAATGTGCGGTGGCGCCCGGCCTTTTTAGGAGGTTCCTAGACCAGGAGCCTGTGTGGTAAGGGCCGGCAGACGTTTCCGGTACGCTCCGCCAAGAAGGTAACCATGCGGCCCGGTAATGTAACCAGGTCTCGAAAAAATTAGGCGAATCGAAAGGGTTCTATCGGACCGTTAACAATTTACGGTCATTCTAGTATGCATTCAAGGAACCGACTCTCGTCTCACATTTATGTCATCATTATGACTAACGCAAGCTGTTACAACGTGACTACTCACCTGGATCGTCATCACGCGCGATGTGCATGAACTCGCAAAAACGAACCTAATCGAACGGTTATCGGTGACATTTGATTTTGAGTCTGCGGCACGTAAAAGCTCTGGGATGCAGCTCCTATATCAGCCTAGGGGTCGGGCTCTCTGGTTCTGCTCGCTAGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGCAGTCCCGTGAGTGAGTAGTATACGCGATCTTGTGTGTCTAAGTTATTGCCACACACGAATGACCAAATACGAGATCTAGACTCGTGTATATGAGACAGGTTGCACAATCAGCCTTTATTCTGAGACAGTGGTGCTGGGGATGGCTTGAGATACATACGCACACAAGCCCAGGGGGATTAATTGCTGCGCAGATAGCCCGCCCAAAGTTGTCCCAGTGACCTTAGAAGGACCCTGTACCTGGCGTTGGGTAAGACACGTCACCCGTCGTAGCCGTGTATAGCCGAGCGTCCTGCAAAAGCGTATCTTTTTGATGAGCGAAATCGCGTCCAAAGACTTCGCTCAATTCAGAAGGCTCGAATTGCCGATCGTCGCAGGGCTGCATTAGGCACGCCAGTTCTTCTAGGTCCCGGGCCGAGAGTGTTCGGCGGTAACTGCCTTTTAGGGGCCGCACACCTCGGCTGCGGCCGGGCGGAAGGCGCTTACTTCTGGATGCGGCTTCAGACGGCTGTAATATGTCTCGGAATACCGCTCAGCATACGAGGAGTCTCCGCTTTCGACAGCCTGGGGCCACGTCGTGTTGAA -------------------------------------------------------------------------------- /week6/Problem Set 6/dna/sequences/16.txt: -------------------------------------------------------------------------------- 1 | CAGTCCAGCTGACGCCATTACAGTTATGCCCTTAAACCCGGGATAACACAGATCTACCATGCATATGACTCGTCACTTCCGCGCTTCTTTGATCCGCAACAGACTCTCAACGGCTTAGATTCCCCCACTACCGCGGACCTGACCTAACACCTGGCTGTCAAGCGACAGCGATATGACCTAACTTGTGGCTGCGAACATTTGTAAATAGGTTGCTGGCACATTATTGGGCTGCACATGGGTGCAGATACCTACGCCTACGACTGATTGAGTTGCACTTGCTGTGCCTGGAGCCACAATATGGTACTGCTCGATCTCCACAATTGTGGCTACGCAGATGCGGCTAAAGTATGAGGCTAATACCTTGGAGCATATCAAGCTCGTGCCGGTGAATTATCCTCGATGAATGCAATTGCCAGTAGGCTGGCCGATCCGGCAACAAATAAATTGTCACTCGTTAGTGGGCCATTGTGTTAGCATACTGCCCTCCCGCGTATGGGTATCCACCCCTATTGCACTTCGTAGTGCTTTGTGTCACTGATGCGGTTTCACTTAAGCGAATAGGGGTAATCTCTAAGGTGTAACGAGTGTTTTGAATAAAAGGAACATAGGTATGATCTGGTTACAGGAAACTACTCGCCGTCCCCAGGAACTCGGCGTAGTTCTCTTTTCTCTGGCACAAGAGCCACAAGCTGTGCTGCATTCGAGGATTCCTGAAGAGACAATTCTTAGCTCGTGGTCTTTTCTAGGTATGCTCACCAAACGGAAGTGGGTCTACTACTCCCAAGCTCTAAGCTTCACCGATCGTAAACACTGATATGATTAACGCTCGAAACGTCTTGTACCTAAGGGTAGTAATACATACCCAGTGAGCGTAGAAAGACCTGAGCACACGGGTAAAATGTGAGATTGAATACCGTAGAGCTTGGTCCGCAGTATTTCCGCTCGTGACCTCTGCATTGTACGGCCGCATTGGCAAACAGACCCGCATCGCTTCAGTCCTTCTGCTACACTGTAGACTCATAACAACTAGTTATAGCGGAGAATACACGGGCCAGGTGGGAATACGACTTCTGCAAAGGCATGGAGTCCCGGTTTGACGAAGTCCATGTTCCGGGATCGCAGATGATGAGAGGCTGATTCGTTGGCACACCGGCCGGCACCAGCCTCGTGTCTGTTCATTAACGCCCGGTCGTTCGAAGCGCGATAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGTTTTATTCATTATAAATTGTCATCACAACTCATTCTTAGTAATAAATCCTGCTCGACAGATCCTGACGCAAGGGTCATGCGACCTATAATCCGATCAGGTGTCCGGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAATCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGGCTTTGACTAGAAAGTGAGGGCAATTGTCCTTTCACCATTAAAGAGTGCCCGAAGATCATCTACCCGGCACCGGCCGTGTGCGTTAAGTAGAGTGCTAGTCGTCAAAGAATGTGCCGGCACTGCGCCCCCCTAACAGGAACGTAAGAAACTGCGTTTGGTATACTTCCCGTTACTCCACTTGTGCATCTAGTGTGACTCTTTAGCTGTGGAGCTTGGTTGAACGGGAATAATTGTTCCGTAGATGTAGTGCGTCGTTCGCGAAGATTTAACTTTAAGATATAGCTGCAAACAGTCCGTTATAGCGGGTGCGCCGACGGGTCGGCCACACACTCGTTAATGTATGAAAGAAGAGGGCTCATCAAAAATTGTCAGTTCCTGATGGTCGTTTGTCGCCAACTGCAGGCTACCTGGGATGGATTATGAAAATTTTCATATGAAAATATTTCCCATCCCTTAGAAGGTCTATGCAGGATGCCTCGTGAGCCTCGATGAAGTTCAAGCAGAGATTACGCGTGTAAACAGTCGGCGTATAAAGCATTAACTGTGGTCTCCGGTTGGCTTTATTGTCGATAGGTTAGGCAGAGAATGCTGATAACAAGGTGAATTACGCTCTAACATGCAAACTTCTCAAGTAGCATAATACAGTTACCGATTAGACAATCATAACTGGCCGTAGCGTAACTCAGAGTACCATTTTCGACGCGACCCTTACTAATGTCTTTACCATCCACAGTTCGGACGACCAGTCGACAACGCCCGGCACTGCACGCGAATCACGAGCTAGATCATTCTACTCGATGGGCGGGCCTTTTATTCTGAGGCTACAGAGGACGTTTGAAGATAGCACCCAGCGCGCGGCTTTACTGTCACCTTCACTGGGACCGTATGAACGTATCAGGGTCGGAGACGTCCACACCACGGAGGCTATGATCTCCGCTACTCCCGGCAGCGTGCAATCGTTACGCTGGCGAAATAGAACGTACACACTCAACTCAAGCAATGCTTGGTCTGTTTCCTACACAGTTCGATATCCCCATAGCAAGGGGACTTTGTAAATGGCTTCTAATACCCATGTGGGCCTTAAAAAAGAAGCCGACGCGATCGCTGCGTGTAGATCAACAAAAGCCCTAGTTTCGGGAAGATATCCTACATGGGGGTGCCCAGGTCGAGGCGGTCGCGATAGAGCATAAGCACCGTCCTGGCTCAGTCGCCAAATCTTAGATGGAGCGCGAATGGTCTAAGTACTGACGTGATGATCAAATTAGATCAGATAGCGCTCCCGGAAAAGGTATCACCCAATCCGCCCATCTACCAAGAATCTACCCGCCAGGGGTTTGATCAGCCGCGTTTGGCTGGCATACAATATTTGAAGTCTGCTGTCAACGACGTAATCATAAGCAGCTAAGTGATGATGGATTTAACATTGCCGTGGGTGATAAGGTTATTCACAAAACACCTGTCCTTTCCTCAATTTCGTCGCTCGCCATCCGCCATTTACAAGGCATAGCCATCGTACGAGTCTCAGGAAATTGACAGCTATCAAACTTAACAAAACTACAGCGCATCGTAAGGGCATATGATCCATCACTTGAAGAATACTCATGGTCGGAAGCTTGGAAATTGTTGAAGCGGAGATCACGGTGTCATTTACTCATAAGCACATGCAAGTCGGCGACGGTACTCCAACTGTATGGTAACTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTATTCAAACTGGAGTAGCTTGACCCTCCACCTGTCGACTAGCCGTAATTGAGGTATGGAGGCAAAATTCAGGGCACTACTGGGGCGTGGGCAGAAGTGTTATAGAAATCATGCACACAAACTGGACAGTCAATTTCTTTCTCGGGGTAGTAATACAGCCGTAAGCGGAGTATTAGTCAATGTACACTCTATCCTGCGTCAGACCTATCACTGGCAGAGTTTGCTTGTCGGCCACGCCATTGAGTGTAGTGTTTCTGAGTAAACTTTTATAATTCTGGATAGTGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGCGTCTGTTACGGACACGGACCTATCCCTGAAAACGAAATCAGGTTGCTGTGGAATCGGAAGGATTTCTATCGCTCATGGACCAGGGGCTCGCCAGCCGATCAAGTACGTAGTAGAGCTTACAACTCGATTTGAGCACCCAGAAAAAAGTAGCTCAGTCCACGACTCAGTTCGTGCGAATGTGTAAGGAAGGGTTTGGTCCAGGCCGACATATTTTCACCTTATACCAGTTTGACGAGGAGCGTCGTGTCTTGATCTCAAGGGCGGAATTCCACCTACCCACTTGCGACCTTACTGACGACAGCACATGTTAGTTCGAACGATGTTACACGACTATGACCAGCGATACGACCTCTTACGTCATTGATTTCGGCTGCAAAAATTTCCTTAATATTATCGAGGTTTTAAATGGCGAGGGTACGTTTAGAGTGAAACGCTGGCAGCGTAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATATCAGTGATGTCATTGACAGCGCAGGGAATCGAACAGAGGGCCCAACATAAGGCATACCTCCTTCGGCGATTAACACCCCACTGGGTCGGTGCGAGGTGTAGGAGAGGATCTGATCCGTCAACTGAGATTAATCCCCCCTCGACGCGTGAATGATGCATCGGTAGTTACAATCTCTTTATGCCAGCTTTACGCGGAGTAAGTTGAGAAACTTCCGTCGGCCGCGCTTTAGTCCGGCCTGTGAATAACGGGTGTCGCTTGTTCATTATTCGCCCGCTCACATCCCTTTAGGTAGCTGTGTCTTCGTCTGAGACTGGTGCATTCGCTAACGGTTCCCTTCGGACAACACAAGGGTCGTCAATTATACGGTCTCAGCAAAAGGTTCCGGCATTGGTGAACGAGTCGGACGAGGCATCAATCCTGCACCCGGACCTACTCGACAAAAGAAGTGCTGGATTACGTTCTTGGGGCGAACTTGATCGTAGACGAGACTTGTCACCTGCTTGAGCCATGGTCTGAAGCAATGATTAGTACGGTTCGGGGGTGGAGGGCACTTATTAACATGATCAACCAGTTGAGCCCGGAGCTATAGTTCTCCAGAGCCAAGAACGGTGGGGCCTATAGTTCTACAATCGACTTCATGATTATGTGTATGCCACATTCGAGATGTTAACATGATAAGTCCTGAGATCAGGTACCTCGCTTCGGAGTTAGTGCATTACCTGGTTTGCACTACCAAATATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCAGAGTGGCTAAATTTGTGGACTCACCAGCCGCAGGGAGACTGTGAATGGCATGGGATGCCATTCAAATGACGCTTGTACGACCAGATGGAGATGGACGGATAGACCTCGGCCCGCACAGCTCTACAAAGTCCGTTTACGTTCAGCCCGAGACTTCGATCCATTACCAACAAATGGAGACAAACTCAAATACTCTGGTCTCCCATTGCATTGTCATAGCAACCTCCCTCGACCGTCCCAGTCGGAGACGCTGGCCTCTGGCATTCAGTTACTAACTGGGGCCAACCTGTCATACTCGGTATTGACGACGCCTAATTGCTGGCTACAAGGATGCTGACCTCTCTCATGCCCTTTGTTTCGTGTGGTCTCGTAATCGCTTCAACCTGATTTCGAAACTAGATGAGGCTTCGAACTTCTCCAAATTACCGCTACGCTCTCTGCACACCCAGCGTCCCGTAGTGGCCCGAATTTCACCAGCTAATATACTCACATGGTAGTTCTCCGCCGCCATGAAACATGTAGCTTTTGTGAAGAGGCAGCCGATTACGAGTTATTCGAGTGCTAGCATACTCAGTAGCCTCTGTGTGGGTTTGTAAGACACCTGTGAGGGTAGCACGAAATGAATGAATGAATGAATGAATG -------------------------------------------------------------------------------- /week6/Problem Set 6/dna/sequences/9.txt: -------------------------------------------------------------------------------- 1 | AGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCTTCCGTGATTCCTGGATACAGTAGGGCTTTCCAAAAGTTTTCCCCCATAGGGTTTGATACGACCGGAGCAGCACAGGCTCTTGAGGGGATCTTCCCTGTGGCCGCTAATTCACGTGCCGGAAGAGATACGGAGTACCGCTGTAGTTGGGAACGCTTTAACCATTGATAGCGTCCACGTCACTACACAACGTATCACAGTCGCATCTGGTCTCTCCTGCGGATTTACCTTACTGCCATTTTACCGCTGCACACTGTCGTTTTTAATAACACAAGCAACAGTCTCGGATCTATGATTCACGTGAAAACAGAAACATCTGAAATCACTGTCTTATCTAGGCCCTCCAAGCCTCGTCATGTAGAGTTTATCAGTTTATAGATCGGTTCATGGCGGCTATTAGTATAGAGCGTGCCATAATAACGGATCGATCCTAAGCATCTGCCCGTCTATCGAAACGACCGCCAACTGGCCGCAGCGAACCGTAGGAGACCCTGTACGGGCCTTGGCAATTTGGCTTTAAACCTATATATCGTTTCGGACACACAAGAAACTGGTAGGTCAAACGTGCGTCCGCTCACAGAATGGGTAAGCTACCAATGTGCATCTTATGGTGAGACCGCGCCGAGGGCAAAGGCTCAACAGGCTGATAGGGTTGTGCTTAGCGCGCTTGGTCATCAATTATGATGGATTCGATCATATAGTGTTCGTGCACACTGCGCCCTGTCAGACCTTCAGCCGAGACGCGCGCATCAACCATTCGTTTTCTCATGAGACTAGTACCCATTGGATTAAGCTGTGAGGTAACAGTCAGACATGGAATCCCGCAGGAACGTGCAGAAAATCCTTGCCCCATAACGATTCGTCACCGCGTTATAAACTGACTGCAATAAGAATTCTAGTCGGTCGTTTGGTCAGCTGTTGCACGTTAAACAACACTTGGAACTCAGACGAGGCCATACTTAATTCGCGGGATAACGGTTTCTGGCATTGACCGTCAGTTGTGGACGGCCGGGGCTAGTCGGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTGTCGACTGTAGCCTAGCTAGGTCGAACACAAAAGGCGGCCTATTAAGAAGAAAAGATTGGAGCTGTCACACTTGAATTTATGGGTTTATCTCGTGTAGTGTAGCGTGAAAAACAGGCGCACTTGGACGCCCTAATGTTTTGCCTATCGTATAGTTCGGCACCCTTATGGACAGCCTAAGGTCCCACGAGCGGATCGCTGCCGGAACCATCAACAGGGCGGTATCGTTAAAGTTGAGAAAAAGGGCTGGCCACAGGAAGGGTCAACTTTCTCTATGGTGATGTGGGACCTCCGAGCTACCGCACAATAGTACTACGGGGGCAATGTCTTGGGTGCGTCTGGCTCTCCAACAATCATAATTTTGCCGTACCTGGTGAATGAGGTTGGGGACATAGTTACGGGTCGCCGGGCCCGCATGCAACAGAGGCTGGTGGAACCGGTGTTAATTGGCAAGAATCCACATTTTTAAGAATGTGGTCCTGACTAGATGGGGCCGCGGAGATTTCTGCCCGCGGATTCAGATTATATTATTGTATTTGATGCCGGAAAACTTCGTCACGACCGGTCCAGCTCGCGCGCTCTATGATTAGCTCTTATACGCAGGCTACGAGCTGCCGTTACAACATTTGCGCACGCAAAGCCAACCTGTCTGGCGACAAGATCAAGGGGCACGTCCACAGTTCCCACAATGGCAATTGTACTATAGGGGTACTCGTCGGATAGGAATTGTTAGGGGGCATTATCTTACGCCTGTGCGATATAGTCGCGGCGGGCTGTCTATCAATCCTGATCGACCGCTAGGTCAATGGGGGGATTACGGACAAACCCCGAGGCTCAACGTGGGACAACGGACTCCTCATGAGGGGCGAACGATTAAGAAGCTCGTCCCTATAAAAGACAGCACTTTCCTATCTTTTAGATAGAAAGGTAAGTGTGATGATCAGACCATTAGGGGCGACATGATTGCCTAAGGTTTCTCCTCATCTTCCATGCCAATCGACCAGGACCGATAGCCATATCTTATTGCTTGTAAGGATTGAGGCGCTTACGAGGACCCAATGGGAGAAATGAATGAATGAATGAATGAATGAATGAATGTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTGCGTATATCGCAACTCGATCCTAGCTCGCAGCCGTAAGCCGGCAGTAACGCACCTGTTTCTCTCCTGACACCTCTCCACGTCGGTATCTCGACCTAGGTCAATAGGCCCCGAGAAAATAGGGCCAACGCATGGATCCCTCGTAAAATTCTCTAAGCCCCCTGCGTCTCCATCAGGTCATCTAAGGATAAATCGGAACCAGTGTTCCTGATTCCTGGGGATCAGTCTCACAAGTCCCCTGTGCAGCAAATCTTAAGCAGCCTCTCCCAGGAAACTAGAGGGTGGAGGGTGTCCAGTGGCGCAACTAGGGAACCCTCGTGTCGACTGCTTTTTTGTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTATACTGTACGGTGCCCGAAGATCCAAAAGATTCTCGATTTCAAAAATAGTTTCACTATTGACCTCAGCTACCGAACGTGTCACGCGAATAAGAACTACGACTGATTGTTGGCCGAGTTCCTGTTGGTCAAATTGACACGCGTAAGAAAGTCATTATTGAAGATCGTAACTTTGCATTAGAGATATCATAAACTGAATACGATCGGAGCGCTCCTCTGATAACCGACCACGAGTTTTGAAAGTTAATGGCTCCACCCTTCCCCTACACATGAATCTCGGCCTACGTAAGGCGTACTGTAAGCCAAGTCATCCCTAGTCTGTTCATTCCGGGATGAGAGATAGCATACGAGGACTCCTAGGCACCGTACTAGAGATCCGTGACTACACTTGGTGAGGTGCAAACAGCCTCCCGCGGTACCCAGCCATGTGCGTAGAAGGCCTTCGGTGATTTAAACGTGGTTCAGTGGGGGACAACCCGCCGTTCTCATAGGTCGTCCTCCTCGTCCTCTGTTGGTAAGCTGTCACCAGAAGCTCTCAAAGGAGTTCCGCGTGGAACTGTACCTTACGCCCAAGTTGACAAGACGAGTCTCCATCCGCCCAATCGAGGGCGGATGCGGTGTTCATCTTAAACTACCGCCCCCGCCCTTCGTTTGAAAAAAGGCAGGCATCGGAAGCACTACGAGCCCCATTCACGAACCACACCCGTGCTAGCTGTGACGCTTACGTCGCTAAAGAGGGGTAGTGAGTAGGGTACACCTTCAGCACTCGGACCATCCCAAACGAAGGACACAGGTTTTAGCGCCGGTCACAGGCCTCGTATGATGAATGACAAGTCATATAATAGGGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAATTGTTCTTCGAGGCTTCTTCGCCAGGATTGGCGGCGTGGTGACCAGCGTGCATATCCCTCAGTTTACAGTCCATCCGGTCATACTAGAAAATCCGGGTGGACTTGACATGTGCTCAGTTTAAGGGCCATCCGGCCTCTCAATCGTTCAGGGCGATCGACTCAGCAGATAACCCGTCTTGAAGTCCTAGTTCCCGCTCCCGCGGTAATAGTGCTTGATCACTAGCGATTCAGGAAACGAGCCGTCCGTGGAAAAGCCGAACGGGACGCCCCCTCACCGAATGCGGTCTGTCCTGAGAGGACCTGACAAAACTACCAGGTGGCGTGTCTAGGTTGGCGAACTAGAATTTTATAGAACCACCGCTCTCCCCCGGTTGACACACCAACATTCCCGTACTCAGATGGAACAGCAGGGTGCAAAAGGTTAGCGTCGCTCCCCTTGTCCACTGTCCGCGGAAGGTACCTCTAACAGGAACCGGGGCCCTTTCTGAGCGAAGAACCAGGAGGTTGAACAAAAACAACGAAAACAGGTGCAGGCCACTGTAAGGTTTGTTTCCAAATCCGTGCCAAAGCAGTACCGGGAGTTTGTGACGAGTAACTGACAACAGTCCCTTCCTACGATACTGAGGTCAGAATAGGCGCTCGTGGAAATGAATCGCTAGCGGATTCACACCAAGCGTATGCCGCAGTCGACCTCTATTAGTAGGTGTCCCAGCGGAGCTGCCCAGCAAGCGAGTGTCAGTCCTCGTATGTCCTAGCAGTTGCAGCAGCATGCCTACGCTTGCGAAACCACAACCTTCATCCCAGAGGAATCCCTTGGACAGTGGTGGTTGACTAGAACGCGAATCCTATATGCTGGAGATCTCCCTTACAGACTAAATTCACTTGTCACTTCGAAATCGGATGCGAGCACGCTCTCAACATAGAAGGTTCGTGACTTTAGCCATGCTAGATCCGATCCCCTTGGTATCCCAGACCATAAAGTAAACCAAAGGACACCTCCACAAGTCGAGTCGATGACATGCAGTAAGCATGAATGATTCCTTTATCAGGAGCAGCATAACTATGAACAACCAGGTAGCGTTGTAACAGATATAGGTCGACACACGGCTTCCTTCATTGTCGGGATCGATGAGGAAGCGAAGTTAACCGCTGTGCTGGTCATCGCTCCAAGTGTTTTCTAATATTCCCCCGTATTATCACAGCTAACGCCCGCGGGATCGTCCGTAAGTTTTAAACAATCTGATAGCCAATAAACCAATAGCCACGTTATGGTACTGGAAGTAGTCGATAAGACTGGCGAAACAAACTTCCCGTCAGGGCCGGGCATGTACAGCATGGGACTGAGTCATTATCGTGTCGAGGGCAGCTGTACGTCTTTAGCAAGGGTAAGGTGAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAATACGGTGATCTGGTCAGGTCTTGGGGGTTGGAAGCATCTTGCAGGTATAAGCAAAAAGGGATATTCTTATGTATTCCGTATTCGTACACAATGAATGGACACTGGGACACTCGCGAGCAAAATACGCCCTGACGACAACACAAATGTCATGGGATTATATGTCTTCGATTAGAAGGTAAGAAATCGCACAGCGGCAACGAACGTAATCTAGAAGTTCTAAGATGGCCTAAAAAACGCCCGTCTCCCCTAAGGTCTAGCAACAACGGTTGATTGCAAGGGGCGTCGGAACAGCCCGGCTTCCTTATAGAAGTATCGAGGTTTCGCCAAAGTACATACTGTTGCCCGCTAAGGTTCGCCTAACAGTCAGAGTAGGTGAGGCGATCGGCCGTGCGTGTCTTTAGTTTTCGACAAGCGTGCTCGGTGTATCGCGT -------------------------------------------------------------------------------- /week6/Problem Set 6/dna/sequences/8.txt: -------------------------------------------------------------------------------- 1 | TGGTTTAGGGCCTATAATTGCAGGACCACTGGCCCTTGTCGAGGTGTACAGGTAGGGAGCTAAGTTCGAAACGCCCCTTGGTCGGGATTACCGCCATTCTAGTAGTCTAACCCCGAACGCGCTCAGGCTTTGAGTTCGCGCAGCATTAAGAAGTCCATGCCGGCACCGAATGTCCCGACGACAGGCAACCAGCACGGATACCCGCCTTGAAGGCGCAATCAGTAGGTCGAGTTACAGAGGCTCCCCCCGAGCTTGTGCTTCCATTGAGTAGGGGCTATAGATATGTAGCACTCAGGTTTAGTAGCGCCCTTTTAACAGCGAGAGCCCGCCTGGTCAGAACCGAACGGCTGATACGCGAGCTGATGGCTAGAGGATGAACACGGTCCTTCTCTTCGCTTCGATCCGGGGTAGTTTTGTAGCGAAGGATAACGCTCTGTGGATTCTCCGAGAATAATCATCAGTACGGTGTGCGTACCCTCTCTTTGATCCACGCCTGGGGCTGGACATAGTCAGGCGCATTTCATCTACTTAACCCCGGTAAGGGCCACGGGCGCGACATCTCCTTACCAGGGTTGTCTTATGCTCGCTTTTCCCAGATGATAAGCATCTCGTTGTAATGAACAGGTACCTAAGAAAACTGAGTTTCGACGACCCGTCGGCTCGTGTTCTTATCTATTGATCTAACCGAGGTGAAGCTCGCCAAAAATTTCGTAATGTAAGAGAGAAATTGAAGGGGTGAATTTTGCACTCTCGTGCATACGTCTTGCTACAATAGCAAGAGCTGTATGCGTGCGACCACTTCACTACCTCTATAGCATGCGATCTCGCAGCCCGGATTGTCGCCTCCTTTGGGCCGCAAAAACGGTATACGGACACACTGCATCTGTGAGCACGCACCAACTCGATGCGCGTAATAGGCATCTGCTCCACCCAGGGGGCAAGGGCACCTGAGGACGATCTGTTCCGAACAGTATATTTGAGCCAATGTTCTATTAGTGAAGGCAAGGTGAGGGCAACTCACACTGGTACCTCGAGGAGTAATCCGATCCATCTAAACTGGCATGCCCGTTCGAGCTCGGGGGGTTCTTGAATTTAGCTGCGTGTACCTCAGGTCTCCTGAAGGTGACACCAAAGTACAAGATAGATAGATAGATAGATAGGTAATATCTGACGTGAATTGCTTACCGCTAGTGAGCGATTTAGGTCACGTCCTCTGAAGATGTACCGTGATCATCGATGAAATGGCTCTGCAGAGCGTTGCTCTTAACTTAGTGGGAGTGTTCCTTTGCAGTCTGATGAAGTCGCTGCATGTTAACTTTGCACTAAGGGCGTTTCCGAACCCTATAGTCATCCTTATTGATTCGCCCTGTCTTACCCAGGATACACTACCGTTCGAGGCTCTTAACGTACCAACGCATGCAGTCAGAAGATGATTCACCATCCAAGCAAATCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTGGCTTTAAAGCACCGAATGTAGTTGGCCATCGGTCTCGGTCACCAATAAGACGGCCTCGTGGGTCACTCGGTCGATGATCTAGGGTCGGGTGCATAGTGTTTCAGGTCGGCGCTCAGGGTTCTTGTCAGGGAAATCTACGGGTGAGTTGGAAAGCGCCGCCAGCGAGATGCCTGTAGGCGATTAGTGTAGAGAGAGCAACATCGGAAAATTGTCCGTGGGGCGCTACGTAAGTGTTCCCAGTATTCTCGTCCAGAGTAAGTCATGCATACCAGTATCAGGCGTCTGTGTGTTACGTTGCAGTGTATCCCGGTAGCGGGAAGCGTATAGAGCGTAACAGACCTGTCCTACAGCACGCAGGATGTCGACCCTTTCTCAGGCACGATACTTCGTGTAACAGCAGTTCCGGTGTCATCTGTAACTGTTCTGTGTTCCATAGTGAAGATATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCGGGCGACCCTGGCAATCAGGCGCCTGCTTATATGACAATTTGTCGCAATACGGGTCGCAGATGTATTGTCCGCATGAGTTTACGGTATCCGGAACTGTCACCGCCGATCCAATATGATCGCAAATCGGGGTGACACAATGGACCGCCGTAGATAAACCCTGCGATGCTGCAATAAGGATATGATATCGCGCGCGGGCCGTAAAACCGATCTTGGAAGGCGGGAAGTCTCCGGGAAAAACTCTCTGATAAAGCCTATTACAAGAAGAGCTCGAAGGCAAGATGGGCATGCCCCGTCGACCACACGGGCAAGCTCTGAGAATCGATGTGGTCGCTTAACCAACCCATACGGAGTGAACGAGACCACGCGGGCGGTTCTTGGTACGCATGATTCCTATTGGTTCTGCCGGGCGTGTGCAGGATTGTTCACTCCCCACCCTGTCGCTCACGAACGCGCTGGTTGCTTAAACCGACCGGAAATTCTGTAGCCGCCCCGTAAGTTTAACGCTTTGAAATACTCCACATGTGCGTACCGGGTCTGATCGCTTACGTGGCGCCACTATGTTAGGAGCTCATAGATATCGATGAATCAAATGTCTTTCATCGCTCCTTAAACAACCTGACGTATTCGCAAAATTGCGCGTATTGAGAAGGGAAAGTTAAAGGAACGATAACAATGAGTCTGCTTTCACCGGCTGCATAACGGGATCGCGCGCTATGGGATTTCCTAACTATAATTCGTGTCGATACTCAGACGCGTTGTACAGGTAAGAAGTCGGCGGGACAGTATTTGAGAAGGGGCTCTGCGGCACCAACGCCGAGCTGTATCAGGGGGGTTAATGTGTAGCGGGCATATAACACAATACAGCCCGCGGCGCGTCGTGGTTACCGTAGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAACACCGGAGCTAGGATCCACGACTACCAGTGGGAAACTGTGAATTGTGCATGGTAATTAAAGGATGACTGGTCAACACCGGTCTCCACGGGCGTTAAACAACCTCGCTCCAGTCAATCTCTAGCGGTGGTTGTGGCAGCTTATTCCTGGAGGTAATACTCTTCCGGGCCCACTAAAAATGTAACGAAGTCGAGGTTGGGTCAGGGGATTGAGTGGGGGCGACTCACTGATTCCACCAGGAATTGTCGTCAATCGCGACGTACTTTGAGCCTTGTATCTTGGCGTTTCTTGTTGGTACGCGGCCGTGTTCGTGAATCACGACGTCGTTCATGATTCATCCGTCCAAGCCTAGACCTAGCGTAAAAACGGTGTCGATCTGTGCTCCAACCGATGGATGGTTTTTACACAAGTGAACTTCGAGGCTGTGGGACAAACAGCACAACTTGTTCACTGCTGACCGTGGTACTAAACCACGCTTGCTTTCAGCCCTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTCAGATGCGGATCAAGGGTTACTCGAGCCGTTCTGAGGTCCTAAAATTTTAGCCCTTGGTGTTAGCTTCGGTTTAAGAACGTAGGTGCGACGCGGGGGTCCTAGAGCTCCGCGATCTGCACTCCCCACCTGGCACCAAAACGAATCCTGCATAACGGCTCTCTGTGCATGGGGGATGGTCGCAACAACGAGCATAGCTGGCATCACTTCGTTTGCTGTGGATTGCTGTTTTATACAGAATACGGTGGTGATCATCAAAGGAAGCATAATCCACATCGGGCACCCCGGGCCATCGTGCGTTCCCTTATAGCCGGCTTGCATGTTGGGGGAGGAGTAAGGCCGGTAACGTCTCGCAGCACTGTCGCGTAACACAGGTACATCTTTATTTCCGGTGCTGTAGAAGTGGTTTTTCGAAGGCGTAACCCAGAACGACTGATATAATAGTCCACTATTCCCTGGTTTAAGACTTCTACAAAGTTTTACGCAAAGTTACATGCACACTCGGCGACGTAAATATTAGCCTTGCTAAATTGCCACGGATATTAATCCCGAGCCAACCTGTTCCCACTAGCGGTCTACGGTCATAGTCCTTTGTGTAGAGCGTCATTGCGGTTGGGGCCCGTCCGCGGAGGTTCCCCTTATGATCTAACCGCGGTGCAGGTTGACTGAATGCCATACACTATAGAGAAGACGTCTAAGTAGAAACGTTCTTTAAAAATCTTGAACTGACGGCCGAGTATTATCAAGAGAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCATGCACAATAAGGTTAGAAGCAGCAAGCATGTATTCTTTGCATAGAGGCGGTAAAGCCGCCTTGCATACCCAGCAGCAGCCGCGAAGGCCTTACTCCAGAGGACAGAACTTCTCACACAGCGTCCGCATACACCGCGGACGTGACAAGGTTAGATAGCTCTAGTTTGCGGCAACCCTCGCATCAGGCCGACTCACCCGCGCTTGCTACCCGGAGGATGGGTCAAGGGATAAACATAGCACGTTAGTTAAGCCTAACGTCAGTTTTTAGAGTTTACATGCACGACTAAGTGCATCGAAATACACGCCGTTGACAGACCAACAGCGTGTCAACTGGGCCTTGAGAATTGTATCATAATAGCCAAATACGAGGCCAAGTAGTCCGACGAGAGGCACGTAGAGACCACTTTCCCTAAACGATCTGTCGCATTACCCTTTGACTCGCACCCTATGCCTTATGTTCCAAGCAGCACCGAAGTTAGATTTAAGGGCGTATCTATCGGTACCTCGGTTGGGCCGGTCCACAGCTCCAGCTGAATTAGTGCTCACCCCGCTTCGAGGTTGAGTAAGGGTCACTTTTAAAAATATGCTTAAGGGTGATTCACATGACAGTAATCGAATAGTGAGATATAAGTAGGTGCGCCCCGCGCACACATCAAAACTGTGCAGACTGAAACTGAATGCTGGAGGCTGAGGAAAATGAAGATCAGAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGAGAAGAGTGAATGAATAGATCTGCCGCTGAATCCCCGCGTGAGGTTTTTGCGAC -------------------------------------------------------------------------------- /week6/Problem Set 6/dna/sequences/19.txt: -------------------------------------------------------------------------------- 1 | GTACTCACTGCTCTTCTGTCCGAGGGCTCTAGTACAATTAATTCCGGGGTTTGGTTTAATCAGGCTTCGGTATTTCAGGCCACTTAGCGTCTGCAGTTTTCGTAGCAGTTATCGTTAACGACTCCGACTGGCCCGCGCTCCTTAGAAATGTTGACGACGTTTGTTGTGAAATAGGAGTGCGCTTCATGGTCTATTGATAGATAGGACTTAACGTGCGATTCCGCAACGAGGATGACCAGTTTTAGGCCCTGCGCTCGCTGCCCTTATGTAGCAGTATATTACGAATTCTCGGAGTTGAGACAATAAATGCAGGACCACTGAGGCCAACCAGTTCTTCGGCCCCATAGGTGGAGTCATTCCGAAGTGAACCCTACATCTCTACTAGGGGTTGCAAGTTCGCCAAGTAGAACCGTTTGCATCACGAATCGCTTTCTGAAAAGACCGACATTCTGCTCAGACCGTGACACGACTCCGGCCGGCTGATTAGGACATCGCGGTCTCGGTATTCCAGCAAGATTGTTTGACTTTCGAGTTAGGGAAACAATGCTACGCTACTGACACCCCACGATCACCGATTTCAATATTCCCTCCATACGAGGAATGCAAGCGGGCTCAATCAGTAATTGAGAAATCGGATCCTTCTCCTCGTGGATCCATTGCCTATAATCGATGCCGAAATACCACAATTACGAAGAGCCTTGGAGACAGATGCTCAAGATGTCGTTAAGGTATCTTATTGGCATTGTCTATCGTGATGCCGACATAGGACGCGTCGAATCCATAACGATCCGCGAGGCTGTCTCTAGAAGAGGACAGAGCTTGTTGGCGCTAGCTTTCGGGGCATTGGGACCTCCTGCTCGATCATTCTCGGAAATCGATACCTACGCACAACCGAGGGCGGACGCGTGGCGCTGCGTGTCGTCCAGGTGGAAATTAGGTTCGGCATTGAGTCGATGTACTCGCTAGGTTCGTCGTCCCAATCCCTCTGTGGAGTGGCTAAAGCCTGGACCAGGCGCCAGCCTGTTGATAAGATCCTTTACCACCGTAAGGAAGCTGACCGTTGATTATGGTGGGTTGTATCTTGAGTGCTGGCGAGGCTGTAGCCTCGCGATACACGATAGATAGATAGATAGATAAAAAGTTGCACGAAGAATCAAGGCGCGAGAACGATTGATGAAACTCGCCGCACTACATAGATCTATAACAGAACATCAAGGCTAGTCCTTGCCATGAGATCCTTTCGTCTGGGCTTCCCGATGCGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAACTGGGGGATCCCAGTCCTCCTTCATCACCTCCTTGTTTGCGTTTGTCCCCGATGACGCACCGGTCGGGCATTTAGCTCCGGCGCTACCGGCGGTTCGTTTTGGTAGTCCGCTTTTTCCTCTTATCACCAGCGGCTAGACCCTATAGGCTGATGAGATCGCACTCACTCCACTGCCTAAACACCAACTGAAGCTTTTGTCACGTTGTGGGCCTCTATCGAGGCGCCCCCGGATGAAATCTACCTGGAAGATCGCACCGCCCGGGCGTTGTTAGCACACCGTTCAATATACGTGGTCATTGAGTAACCCAAGACGGTTGGGCTCCATGTACTATACGCCTTTCTTGGGTGGCTACTCTTGTCAGTACTCCAAGGATATAAGCACCTGACGCTTACGCAGCTTTCGCACTACCACGGTTATGTGGTAGTAGATACTCTCCGATAGAGGCAGCCATATCGTAATCAACCCTAATATTCACTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGGGCGTTTTATACCGTGCATCTCAAATAAGCTAAGGCACCGTGGCGATAGCGGGCGATGGGCGGGTCAACTACTTCCAAATGAGTTGACTCTCTCCCATGGTAAAATCTTTGTAGTTCATCGCTTCTCCCTCGAGCACAACTGGGCATATGTCCGGCCGACACGTTGACGTATTCGTGATACGGGCCGGTTGCCTGAACGTATCAGGAGAATCTTTTGAAAAGACTTAAGAGCCAGAGGATAGGAGCAAACCGACGAAACCCGCAGAGTCTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTAAGTTCCCCGGACCCATGAATGTCCGCATAGGTAGTTGAACAAGAACGATATTGCCCGGCCTTCTCCGGGTCGAGGCGTTTGGCTATGGCGACTATCGTAGAAATTCGCGGAATTGAAGCCTCAATGAGGCTAACCACGGCATTTAATTGTACTGACGGGTTGTTATAACTCTTCGCCAATGGTGCGACAACTTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGCGGCCGAGTCAAATGTCGCTACCGCGGTGCCTTAAGGTGCGTCCCCGAATGCCCGAGTGTATCGGCGAGAGCCCTCAATCCACTCTCGATTCTTGTTTTTTGGTGAAGCTACGGCTACCTACTAGGTAATTGACCGACCCTAGCTAACGCAAACCGATGCTCATCAGGGTCCTTCGTATAATCCCGGCGTGAATTACGCGCCTTAGTCCGGTTGCGTAGTGTTGTGGGCTCAACACTATAACTACAAGAAATGGTTGACAGTTAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCGTAGCAAGCGTGCGAAATTTTTGTGCAAGTTACGCGTTGTGAGAAGGCCCACGCCGCCTTTTACTATCAGCTATTCTGGGAGACGACGCCATATGCTTATGTACCGTTCCAGTTGTCTAAGATGGCGATGCGGTTGGGGCCTACAGGCCACCGCGACTTCCACTCACTGATTCACTTCCGGCCTGCCCGGGCGAACGGGGCACGCAAGTTTGGGTCACAAAATATTGGTGTCGGTGAATGAGGAGCAATCGTCTCAACATAAATTTCCAACTCAGCGAGCTCGGGGTCAACATCTTCGAGGAGTTCAATCTCCTCGCCTAGCATCGCCCTTGGCATTCCACCGCTTCGTTGACCTGTGGATTCTGTAGATCTATGTGGGGATTGCCGCCTAGGGCAGTGAATCCTTTCTCTGTATCATACGACATCTTGCCGAGGAGTTGTAATGCTAATGATCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTATTCCAGTCTAATCGATCTTGGGGGACGCCTTTTTTCCTGAGAATCGAATTATGGCTTGACAGCCCCGTCCTGAACGCATCCTGACACGAGTATCTGCGAGAATCGCGTGTTTCTTATATGTTCGACTTGACCTGAGTGGTCTTCAGACGAAGGAAGCCGATCAGGTCGGCTACAGCCGATACGATTCACAAGTCGCTGGCTATCGTACATCAGCTGGACGTTTCCTGCACCGGGCGCTTGATAATTTAACCGATCAGGGGCGCTACTGGCTTCTGATTATACCGAGACATTTACCGATAAGAGGAGAATCATGTGAGCCATTAGTAGGACTGGTAGATCTTTGATGCCCCAGTTATGGCGCCCGGAAATGTCGAATAAGCGCACGCCCATTTACCGAAGGAGATGAAAGCTGCCGCTTGCCAGTTTACGGAAAAGATCGTCGCCTCCTAACTTAGCTTTCAGGCGTTCCGCTTCTAAATCGCGCACATACCTGCTTAAAACCTACTACTGGGGGAAACTTGGCGCGACGCCAGGTTGGATGTCGCTAAGGCCATGGCAGCGTTATTTAAAATAGTGGTCTTTTGACAGGCATGTGGGAGAACCCTTGACTAACCCGAAGACGACGGGACTCTCAGAAAGTGATCGAAGTTCGACCCGATACGCGTCAAAGCTGTTCGTACGATTTAAATAGTCTTGAAACCCGCGACTACACTGTCTGCATGATTTGCCTTTGACGACTCATAGCCTGGGAGTGAAGTGCTTATACCATCCGCTCGCCCGGTAAATTCAGATTATTTCTGACTTGGGCATAATTTTCCTTGGAGTAGTACGCCTTCACGGCGAGACCTCTGGAAAATATAGACAGACGCTCCAGTAACGCCCTAAAGCGGAATCCCTTTTGATGAAATAAGAATGAAGTGGTGGACGCCACTTTTGATTGTCCCTTAACAACTATTCATTACTGTCAGTTATGCAGTCGTACAAAAGACCTCACATTTACAGAAAGACTGAAAGTACCTGAAGTTCACTGCTCGTGGTCTGGGTCTTGAAGGGCACCTCCCACTGAATGCTTGCATATCAACCCTGTCCTCTACATCGCCGAGGCACGAACAACGCGCCAGGTCCCCAACGCGGGCTGGGGAAGTACAAGAGTCACTTCCGAGTATAGACCGAAACAGCGTGCCTGCTCCACTGGCCCGTACCTTAGCTGGTGCAACATCGAATCTCGTGCGTCGCTTTATCAATGTGCTACTTTGCATCACTGTGGGCCCTAGCCGCTTTGTCGCTAGCTATATAGCTGTCGGCCCCCTACAGCGAATCCTTTTGGTATATACACTTTTGGCTAGTTATTTAACAACCGCCACCTATAGGCCCCGGGGGAGAAGTCGATTAGCTTAACTTTAAATTACCCCTAGACCGCAAAGCTTTCGTTTGGGAGGAAGATCCCTACGCTAGATCGATAACACCATGAGCATACGGGTGAATGAACAAGAGTATTTTTTCCATTGCAGCCTCCACCTGGCGTTTGCGCCACAACGGAGCCATAGCGCATCTTAACCATTAAACACTCAGCGAGTAGGCAAGTAGACGATATATAGCAATCTGAATGCACGGTTTACAGTATCGTATCGACCCCTCGGTTGAGCCAGTTGTAGGGGCACACGGCCCAGAATTCTATAGTGAGTTAATAGACGAGAGTACTGACTGAAAATGGAAGGCACCTAGAAATGGGTTACATGGCCAGCTGTTGCCTTTGATTTTCTAACATCGACCTAGGGAAAGACTGCTGGTTGGCAGCCCAGGCGACACCCTTTGTGCGGTTTCCTAAGAAGGTACAGTGAGAGGCTCTTTTCGATGAACACCGGTAATGGCGAAGCGCTAACACCATGCCGAATCATTGGAGCCAACACGTTATTGTCTAGCGCACGGTGACGTAATTCGCGGGAGTGCACAATTGTGTACTTAAAGAATTGAAGGCCGTCCTTAGGGGAATAACTAAATCACCTTATACTTGTTCCACGAAAGCGACGCTTAGCGAGAATTGATCGTGACCCCCAATCCCAGTCTCTAGGTAGAGCTCACCCCATATGCCAGTTTATCGAATGATACCACCGTACGAAACACCGACCGTTTGACCTAGGACGGATCTAGAAGGTTCACCCTAACGTAGGCAAACGGATTGAGTGTGCTAACGGTAGATGGGCGATTCTGAGCAGGGGTAGTGGGGTTGGCTATTTACTAATTATATTACTTGAAAGCGTGAGCGATGCAAATTGGATCGTCCAGTCTTCAGGGTGCATTATATACGTTATACGTGCTGTCCGACACCCTATCTGGCCTTCATCGGACTGTGGCTTTGTGAGACGTCGCGCGCTTTTATATCGACATGATCCACCCACACT -------------------------------------------------------------------------------- /week6/Problem Set 6/dna/sequences/5.txt: -------------------------------------------------------------------------------- 1 | GCTAAATTTGTTCAGCCAGATGTAGGCTTACAAATCAAGCTGTCCGCTCGGCACGGCCTACACACGTCGTGTAACTACAACAGCTAGTTAATCTGGATATCACCATGACCGAATCATAGATTTCGCCTTAAGGAGCTTTACCATGGCTTGGGATCCAATACTAAGGGCTCGACCTAGGCGAATGAGTTTCAGGTTGGCAATCAGCAACGCTCGCCATCCGGACGACGGCTTACAGTTAGTAGCATAGTACGCGATTTTCGGGAAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCCCGTCAACTCATTCACACCGCATCCTTTCCTGCCACTGTAACTAGTCGACTGGGGAACCTCATCATCCATACTCTCCCACATTATGCCTCCCAACCTTGTTAAGCGTGGCATGCTTGGGATTGCATTGATGCTTCTTGGAGAGGACGCTTTCGTTTTGGAGATTACAGGGATCCAATTTTATCATCGGTTCGACTCCCGTAACGACTTAGCAGTAAGGGTGCTAGTTCCTGGTTAGAATCTTAATAAATCACGTCGCTTGGAGCAAGACAAAGATCGTCGTAATGCCAAGTGCACGACCACCTTCAGACTTGCAGGACCCGTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTCGATAGCTATGCGGTTCAATACAATCTTAACGCAATGCAGCGATGTGGTTTCGTACACTTAGCATAAAACCCCCCACATTAAATCGATGTACCCGCCCTCTTAGACGCCAATTTCAATGCCGAACCTCCGGCGGGTATCTCTGCACTAGGAGAAGTAGCACGTCGCTGTAGCGAACTCCTATCGTGAGATAATTTGTAGAGCTGCTCTTATAATACAATAGCTCAGATGGATTATTCCATGGACATCCCCGTGCGTTGTTTCGAGGATGGTAGGTGGAAATTTTGCCAGACCTCTAGTCTTAAACATGGTTGACGTTATAGGCGCTATCTCTTGCGTCTGGAAGTGTTAATCCGTGAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAACACGCAACTCTGGAGGAGGGCACTGCACTGCAAACTTGCGTAATATCCTTCACCCACACTTGCCTGGCCTCCTTGCTTAAAGCTCTGGCGATGCGATTTTTCGGCCCAGTAGCTGAATAGGTCATGAAATGGGCACCGAACTGGAAAGACCCATATATTCGATACTCACAACTTAATGATAGCGCGATTAAGAGCGACACCAAAAACCAAATTACGTTCACGAACCTTTGAGAGTCAAGGAGACTTAGACCGAATTGAATGATCACTGATGCGCCCGCTGATACTGAGCCTCACCATTAATCGCCGACCAATACGGCGTGTACCGGGCGCGGCCTTGCCGCATAACGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATATCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTACACAGCCCCGTCCTCATTGCTAAGTGCACTGGCAACTGGACCTAAAGATTTTTCGAGTATGGCCCTCGAATCAAGCGCCCACCCAGAAACCTACGAGCCAGTAACCCCAGTAAACAAGCATTAGTGCTATATGCTTGCTGCCCACTAGGACCCTTATGGTTCATACCAGGGTGACGTGTCTTGCGGGCCAAGGATGAACCAGAAGCAAGATCCTTAGATGGACGACTGTCTCATTGCTTAAACTCCACATACCAAAGGGCGCGGTAAACGATAGTTTTAGGTAATGTTAGTCGGATGGTTGTCTGCAGCTACCAATACAGCCTGGCACCCAGGGTCTGAACAATAACGCGTGAGAGCAGCTCTCCCGCGTGTGGTGGATTTGCCGTCTATGAAATTGAGGCTCTTGCAACTATTCGCACTCGGAATGCCCTCATATCTGGTGCCTAGCGGCCTTTGCCCCGTGCCGGTAGGACTAAACTCTACGGATCGTTGACGGATCTCGATGTGGAAGATGGTTATGAAAGATAACAACGCGTGTGCTAATTGATTTAGACAAGTATTGCGGCAGTAAAAGATAATCGGCTGCAGAGTTACGAAAGACTTCCATGCATGGATTCCATTCCTTCTAGTATAGGACCCACTCTGAATACACGTCTTGCGGGCCGATCATCTCCACCGCTGCGGAAGAAAGCAATTAAGAATCTATGCTCATTAAGAGTGCGACTATAATGCGGATCTTACAGTGCTAATGATCAGGACGTCGTCCAAGCAGGCTGCATGCCGAATTTAGCTTACGTCAGGATCAGGCGTTATAGCCTGGGAATCGGACTATGAGGACGCCACGACCTCTGGGAGAAAGCTATATACATTGAGGATCGCGCCATCTTTATGAGACTCAAATGAATCTAGATAGGTAGCATTGCGGACTTGAGTTAGCACATCGGTATTGGAAGGTGAGGGTCCTGCCGCTCGTTCTATGTTCGGTTTATAGTATACAAATAGGTCATCCCGAACGTTGAAGTTAAACTCATGACACGTTGTCGTAATGAAACGGGCCTGTTATTAGGGATACAGACAAAAGGCACAAGCTGGCTTGCACATTAAGGCGCACTAGAGATCCTCACAACCGTTGCCCGCACGGAGGTCGTGTCTAACAGACAGTGAACCAGCCGTATTGGGGTGGATGACCTGAGCTTCTTGGGGCCTGTTGTACACCGCGTGTGGTTCAACTGGTACACATACTACGAATATTCGAAATCATTGTACTGTGCTCTTCGGTGCTACTGACTGTGAGCGAATGCATCCCAATCCCAAACAATGCTTGTGGTAGGAGAATTGAAACTCTCGAAGCCTGGCCCAATGTCATCTACTTTTAACATGTCGGGCCAGGAGTTACGGGCATTGCTTACTTACTTTGCCCCCTTACACCACAGCAGCGCGATTCTTGTTGTAGTAGATTTTATACGACTCGCGAATTAAATGGAACTTGTCTGTCCCATATCGATCGTGTCCATCGTAAGATGAGATTGTAGGAGCATTCGGAAGTCTATGCGGCCCAGGGACTACTACGTTAAATCTGGTCAGACGTGGTTTACAAGGCGTCCCGATCTTCTCAGAACATATGGGAAAGCACTACCGTTCCTTCACGCATACAGTTGTTCGTGCCGAACGAGTAAGCTTGCGACCAGCCCACCCGCTAGGGCTATGCAGCGGGTCATGGCTGGCGCCATACTGTGCGGACAACCCACGCTCTGGCAGAAAGCGTCTTGTGTTTTGTAGTAGCTCCAACGGTTAGACCTTCGATATCTATTCAGAGCGCGAGCGACCACTATTAGACGGCATGTAAACAATGTGTATTTGTTCGGCCCAACCGGTATATGGGTAAGACCGCGAAGGGCCTGCGCGAATACCAGCGTCCAAAAATTCCTCACCCGAGATATGCGGTTAGTACCCCTTGGGTAACGGTCCGCTACGGGTAGCGACGCGAGCCGGCCGCATCGGTTGGAGCCGAGTTGTCGGGCAGGCGAGTAACGTGTGCAATTTGATGGGCCCAAGCCTCCGGCACTATCCACCTCATACATCGACAAAAGCACCAAATATGGGGAAAAGCTGAGCGTCGATATGTACATCTACCCAGGAACCGGCCCGAACATTAGGCGGACGTGAATTTCCGACCTAGGTTCGGCTACATTTCTACGATCCAAGCACACGTGAAGGAGGAGGGGTGTTCCGACCGTAAATGAACGAGGTGCGCAGTGACCCGATGGCGTTTAGCGGATAGCCTTCCTATGCCGGCCTATGCTGTATGGTAGTTGGTTGGTGCCTCCAGAGCCACTGCACCCAATCATAGGGTCTACAGCAGCGTACTTATAAAATTGTACGGGTGACCCATATCCATTACGGGTTGCGACCAGTATAGGAGAGTATAACTGCGTGAACTAATGCGTTATGACGCTTCAGAGTTTGCTCGGGCCCGAGTTCTAGGGCTATAATGTGTTAGGGCGCAAGTATGCCAAGCTAAGATGTGGCGTGCACACTAGGAGTTGTGTTCCTCTGCAAGCAGACACGAGCACTCTGGCAGTAGTTTGACCACACCCGGGTATCACTGCTACTCCATTTCGAACAAGCTATTGGAGCGGACAAAATATGCTACTCAAGAGCATTAGTTATAGGTCTACGAGACAGAAGCAGTTACTGAGTCTGAATATTCGATATAAGTAGGCATGGAGGCGGAGCAAAACAACGTCTGCGATCAATCGTGTTGATGACGTATGGCGACTGGAAGGTAAGGACTATGGCCGGACGGAATGATTCATGTTCTGTTCAAAGCTATATTTCGAAGGGGTATATTAGCGGTCCTACACTTGGTTAGCACCCTCCCCCCTCTGGATCCTGCACTAATTCGAGCTGGCCTCCATCGGTATCAGTCCGGAAGCTCCACTCTCTATCGTAGTCCTAATCAACAGGGTGCCAGTTTGCTCACGTGGAAGTTTGAGGCCCTTTGTGCTCCATAGCCAATCACTAACCATGCACGCGCGACCCACTCTACGTCCAGATCGGCTATAATAGTTGCGCCCGGGACTGGCAGAGTAGACATGTAAGCTAGATAGAGCCCCGACATCGGCCAAGAGATCCTACGCTGCTTCCAGATAATGAGAGACATTCTAGCATTAGACATGCAAGTCGGCAGGGACTCCCCTTATCTAGTAATTTCGATGAATTGGTTTTTCGGCTAGCATCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGACCATGCCGACCTCATCATAGAAGGAATGCTCTAAACTTAGAGTGCTACTAGGAAAACTATTAATCAATGATCGTCCTGCTTACATAGCTGGACGGCGAAAGTTCTTATACTGCGGAGGTTGCTGACGTAGAGTGCGCTGGGTACAGCGGATAAGTTGATCAGGGTGGGGATAGGGTGGCTCACCGTTTATACTCATATAGATTCCTGGCGTCGACGCTGTGACAGGGTCGAGATCGAGGGGGAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGCGGAGCGGAGGGAAAATTATCACCAGAGGGTAGGGGCTCGCGACATTCTATTCAATGCATTTCAAGCTACTTACGTATTTCGGCACAGTGACTACTGCCTGCGCGGCAGCCGTAAGGTTTCCCGTCAATAGGTGGCACGTATCATTGATGAAAGTGTCAGCTAATCATTCAGGCCTTA -------------------------------------------------------------------------------- /week6/Problem Set 6/dna/sequences/7.txt: -------------------------------------------------------------------------------- 1 | AATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGGTTAAAGCCAAGTGGAAGTTGACGAGCTACGGCACAGGTACCCTATACATACGGTAAATGAGTCGGAGGTTGTGGGTTTAAAGTAAGTCCCCGCTCAACATTCAGCAGACCCTCGAAGTGGGCCCTAAAATCGTGTTGCTAACGCTCCGGACCTGACCCCGAGCTTGGCTCCTAATTGTGTACTCTCTCCAACCAAGCAGCGTACCAACGCGGCAACCAGAGCGAAGCTGTACACGTCGATCATCGTTACGCCTCTACTCGATAGTCGTAGAAACTTGTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTGCGGTTGGTAGCTCTAACTGTCATCGTATTCGCGAATACCTCAGATATAAGCTCCAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAAGTGAATGCACGAGAGTGTTATAGCAGATATCCCCGCTGATCCGGCTGCCGAGGAGGTGGGCATGTGACGTTATGCACTACACAGCTACTACCAAGGTCTTCTGCGGGAAAGGATAGACAAACCGGCAACTCCGCGAGGTCGCGGACTTAGTATTGCGACGGCGTCCTAATCGGCTGGATTTGCGGTTTGTTGGCGTTAGTCCAAAGGTGCCGCTAATGTGGCCATATTTACGATCCACCCTATAGGGCTCCAGGTCGTTTTAAGTCGAGTCGTGTCTAGGGGCCATTCCTGGCCTTGAACGAAAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCGGCCTTAATGCTCAGATTCATATGCTGTGAGGCCGAGGGTGGCGTCATATCTTCGATGATGTTGAACATACGGTCCGGTATTTCGACTTGCCACCTGGTACTGCTTTAAAAGATGATACCATCAACAAAAGGGCACGGCGTGCCTCATGCAGGACGGGACGTTGCCTGCCTACAGCGCTCTACGTAGCAATGTCCGTCTTTCTTCATACACGTATGCTCCTAAAGAAATTGTAGTCTAACAGCTTCCAAACTGTAATCGCCGTTAGGTTCGTCTAAAGTAAAAATGATTGCAAGACGCAATCGAAGGAGCCATCGTTTCGAGGTGACTTCTAATATAACTACCTATGGTCATAGCATGCCCCAACATTGAACGAGGTAAGATCACGGGATCGACTGTCCTGGCGAGGGCCTTACGTTAGTCGTGTAATGCTCCGCGCGTCCCAAATATATGAAAGGCACGACACTCCCCACAATTTAACCCTCCCGCCAAATAAGTACCTAGCGGAGATAAGAATCTGGTCGGTCAGAAAAGGGTCTATGTCCTACAGAGTAGGGCGAAGTCCGCATACCGCAACAGTGCGGTGGCAAACGCTTTAATGACCAGGATCGTGCTAGGCAGTGGAATTTCATGTGGATTGGCCCGCGAATGGACAGGGAGCTATGTCTGAACTCTGTTGACGCTGAACTGTATCCGGATCGTCATGTGAATCGTAGCTATGGGAGTGGTGGTACTGTAAGTCAGGGCTACTTACTGCGGGGTATCTATCTATCTATCTATCTATCCTCACAGTTCATGATTATACGGATGTAATTTGCCGCTGGCTCACGATACGGCTATACAGCGTTGGCTCCTAACGTTGCCACCTACAGTCTGCACTTGGGCACTCGGTATGGTATAAAATATATGACGGCAGACGTTGCGATAAGTAAAAGATCGAACAATCTCGCAGCAAATCTTAAAGCGCATCTAACATCGGGCGTGCGAATGGACCGTTCCGAGGGACACTAGTCGAGCCCCTCTTACAGCTCACAGGTAAATCGATTATCGTACGTAAGTCAAGTCGGCACTGCTTTACGGCAGGTAGTAATGGCTGCGTGCTGCGCAGACCTTCTGCCCCTCAGTTAGTCACGGCCACTAGCCCGGGAAAATATAGTTCGGACAGAAAAATCAGTACCCAGCACCCAACTAAAACAAGTTCTATTCCGAGACGCCTGCGGAGAGCCTCACTCGTTATAACTATGTACGGCGGATGGGGGTAGGGTATAAAGGGCATGCGTCTACACCGATTTCCTGGTTAATGATAATCTAGTTCTTAAAGCACTACTAGGCGCTGCGAATAGGGGTATTGGGCAATAGGCCCTGAATTAACCTTGTTTAGGGTTAGCCTATGCAGCGACCGTAGTACAATAATATCTATAAACGGGTACTCTCCAGACGTATTCATTAACTTCTCAATGAGGAACTATCTACAAAATCAATGAGTGATAACAGCGCATATGAAAAGTATGCAGTTGTTTCAAGCTGTTAACGGCCATTTCCACGAACGTGTTCACAGAGTAGAAGAAACGTAAAGCGTTACTCATCTCCGATACGGTGCGTGCGATGGGGCGTATTGCTTGTAATGTCGAGGGACGGGCATTGAAAAGAGTGCCACAGCATATCGGAGCAATTCACTAGTGAGCGTACCTTGATAAAGCAAAAGGATTACCTATTTTGCACACGTGTGCTAACCCCCAAGACCTGTTGAAACCGCCGAGCATCCGCCAATTTCTAGCACAACATTTCCATCTGCAACTAGCCGTAGAGCACTCAGGAATTTGATCTTAACATGATCGTGGAGGCAAGAAAAAAGGATGCAACAGCACCTTAGAGCACGAGATCATTCCTGGTTAATATTATGCTGTACGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGATCGCCATCATTAAGTACTTATATCTGCATAGAACATTAAGCGAGACGTTTGTGAGATATTCCCCTCTGGGCCCTTAGCTTCGCAGTTCCTCAGCGCCCTAAGATAAACGGGTGTAGCAGAAGAATCGGCGTGCTTTTTACAAGTCCTGCCGGCGATTCAGCATCAATTATAAACGGCCCCTAATAGAAATAGGGCGGCAGGAGTCAATTGGTATCGTTTTGGAGCCATTCACCGCCAAGGGTCAGATAACCCGGCATTCACTGCTGTATTCCCGGATTAACGGATCTCGGATCCAATGGCCCTCTGTGCCGATCTAATACTGCACGCTTAGTGGGCGGGATCAGATGAATGGCACCTCAGCCCCCCGAATTCAGTTGCTGGCCAGACGAGGGCGGGGACTGTTTGGAATTATTTGCTCAGTCCTTTTATCATCCCGATGCTATGACTCAATCCTCTAGATCCTTGGATGTCTCAGGAAATCTCACACATCATAGTCAACAAGAAACGAGACAAACTCGACTTGAGACTTCATCGCCTACAGTGTTTTATTGTAACGGGCACCTCTATATGTCGTCTTGATGGCATCAACAGCGCATGGTGATACATCGCTAGCGGCATTAGGCTTGATTGGTGCTTGCCGGGCGGGAGGCCATTTGGAGAGAGGCAGACTATCGTGGCATGCCGTAGCGCTTTGCATGCAGGTGGCGCGACCGTAAGGAGTGCAAGATGTAGATTGTCACGCTAAAGTTTATCACGTGATACTAGCTGACGTGTCCATAAGGCACGCAACAGCCTGCTCTAGGTTACTGTAGGGCTTGGCGATAGCATAGATAGGCCTGAGGGAGTTCTGGCGTAATAGTTGTTAGATAAAGCTGCCCAAATCCAACAGCTGGATTTCATGTGTGTTTGATAGCGCAATGCACTCATACTCAGTCCTTGCCAGCATGCTGTCACACGATGTACATCGTTAGCCCTAAGAGCCCCGTCGAGTAGCTAGTAAGCCTCATGAATGATACTCGGGGCCTCCCGACATAGACGCAGCTTGAGTGTCGGACGAGTATAAGCCATCCCAATGATTTGCCACTTAGAGAGTAGCGCCGTTTGGGATTGAGTCGAAGAGCGTGGCCTTAGACCACATATGATTTGCTTGCGCCTCCGTATCGCTTGCATTTGAGATGGAGCCTCATTTCTCTACCATCGCCGACTAGCAAGTTACCGATGGACAAGCCTAGCTTGTGTACTTTGAGAGTGGCTTCGTCACCAAAGGGTAGCCATAACCTCAATGGCTGTGATCTCTTACCCCCGGGGTCGGGCGAGATCTGGGCGAGAAGACTGCACGAGCCCTAGAAACTGCAAGTGGCACGGCTTCTTGTCCCATAGGCTATTGAGGGCATTGTTGAGTCGAAGTTTCTCCTAAAAATGTGAACATAGTTTCCCGCTCAGAGATACTCGCTTAAAACTCATACCATGGATGGCTGGAATGGACAAGCGGTATTCGTGCTGTGTAGGGATCCGCGTTGGTCTATTAACCACTGAGCGGATGCGGATTAAAGGGACAGACGATTACACGCCACGGAAGTCCTCGTCTGTGACGGGTCCCTCGCGTCTCCCCCAGAGGACCTTCATTCCCCGGTGGAGCGTCCATACGGTCTAGCTTGTACGCTTCGGGGTCGGGTATCGGACTGACCTATACGACAGACATATCCTAGAGAGGCCTAGATGGACCGGGAGCACGCGAGGGCAAACTCCCTCGCTATCCCACTTCGATTTCCCGGGGAGGGCGGCGTTTTAACACGTAAGGCACGTCTATTAGATGAGCTTATATATATGCGAACTTTGATCCAATTGGCACAGAACGTCAATTAAGAAAAATAATACGGAGATAGTGCCGCAATTGTCCATTTATACGCACCCTCTTTCTAGTATCTAACGTTCTTGGTACGCGGTCCACTAGACCCGACTCATAGCGTTATAATTTCCTGGTATCTATTAAATCGTCGGCCGTCTTTTCCACTAGTAACCTGCTCTTAGGCCGCAGGCACGGGCGTACGATACCCCCCGTACGGTGTAACATCAGTGCGAAGTAAATACGGGGCCAGCGTGTAGACGATAGTCATGTTAGCTGGAAGGGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATATTCTGAGTATGCCGATCCAGGTTTGGCAGCAACGGAAAATATCTTCTACTTGGGCCCCTATAACGAAATGTCTGCCTAACCACCTTTTTTCTGGACCCTCAACATGCCAGTTAACCCCGCGCGGGAAAAGCGTCTGGCGCGGGCGTCGGGATATACTGACCAGTAGAGCACTGATTAAAGTATTTGTGGTTAAAAATTCACAACGTATTCCATGCGGGACACCGACACGCACGTCAGTTGCTCGCAGGTGATGGTAGAGGGGTGGATCGACCGAGGTCGGGTTGGTGGGTAAAGGTTAGCCTGCACCACGCGAATGTGCTCCATTCAATTTTGGGGGTGCGATTCTCCGTTGCGGGATCCAAGAGGAGTTAAGATGGCCTTGTCCAGTTGAAACTTGGCTGTGGCATGGGCGACAAGATAAAAGGGTTATTACTGATCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGCACTGAGGTCTAGTACGTACGATGAGTGAGCATCGTTATTGGAAAAAGTCATGAACCGG -------------------------------------------------------------------------------- /week6/Problem Set 6/dna/sequences/11.txt: -------------------------------------------------------------------------------- 1 | GGGGGACGGTTTGTCTCACGCCTGTTGGTACCCTGAGTCCCCCACAATACCACAACCGTCGATCTTGAACGGTACCCTCATAGCGATAGAGACCCTTGCGGCTGAATTGCAATTACTCCAGTCACTTCCTGCCGGTGACCTGTCATGTATGAACAGGAGTCTCCTACTGGAGTAGTCACTTTTTGTAGACACAACTCGTGACTCACGGCGGGCGTGACTCCGCCTTATCACTTGGTTTGTATAGGGCCACTGGAGCCTGCGCTTGAGTCTTCGCTTGTAGCAGTAACGTTCCGGGAACACCCGTTGGCTATTCGGCGCCCGCGAGGTGCAGCGTAGCATTTTCGCGCCTCCAACGTCATATTAACATCCGAAAGGACCTATCTGGAACCAGACATCTTCGTTGCGTTCTATATATCCGCCCCACGTGGATGGATGTCGGGCTCGTTGCCAATAGAGCCTTATTAGCGTTTTCTGGACAATCGCAAGCAGGTCTGAGATGACTGCACCTATTTTCATGGGCACGAGTCTCTTGTCGGCACCTACGACTTATGAACCCGAACATGCATTGTTCCCGAGCACAGCGGACACGCAGTCGCCTTCCCTTACGCCATAGTCTGGGCCCCCACGGACTATCCCTCTAAGCACCTCGTCCGCTGACTATATTTCGAGTGAGTAACCGCTCCACGTGATGCCCCGGTTTGACAACATTACGCAGAGTCTCACAGCCATTGCTTCCGCCATGACATTCCGCTGGCTTCAACATAAATACACCCTACACAGAGACGGTTCTTCGGTCCGAAGTTCGGAGCTGCTTAGGTTGCAAGCAAAACCCTTAGGTCGCCAACCGTGTAGTTAGTCTCTGGGGGCGGGATGGGTCCTAGCCAGAATGATGATTGAAGAACCGTTCAGCAATTTTTGTTAGCGACTTTCCAGACGCGGTACCATGCGGTAGTACCGAAGGAGTACCCAAAGGTGGGCTCCGTTTTAAAAAAGGTAGCTGGGGCACCGGGAGCATCACGAGTTGGGTCGACTGTGAGAGTTTAGCACCAGACTTAGCGCTGTACCTACGACCTGGCTGTTGCACACGTAATACCGAAGTATAAATCACCTGTTAAACACGATGGACTAGTGACTTGTAGCGGTCTCCGCGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAACCGTAAGAAGATAACTAACACCCCTGATTGTACTATGATAAGGTGATATCTAACCATCAATCAATTGGAAACATTATAAATATAAGTCTTTGTGGTCGCTATCCTTGACTCGCAATGATCAAGGACACGGCTGCCTGATGTGGTCCGCCCTTATTTTTAACTCGAGGGACGGCCAAGGGGGTATATGCGACAGCCACCAAACCATCCTGACTCGCAAATCCCAACCATTAATGATGCTTAATTTGTTGGACGATAGGTAAATATATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCGACTGGAAGTCCTTCAGCACGACCCGAGATCATGGCCAGATATCTCCCGGCTACGACCAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGCGAGCGTGATTATAGACGACCATCCACTTCACTTGTGTTTCTGTAGGTCATCAGATCACGTCATCACCGAGGAATAGCTGTGACAATCCGTTAAACTATGGACGCGAAGGGCGAGATGTTATCAGAACCTTACCGTTGCCGCGAGCAGGAGCGTACTACAGGCGGGGGCGCACGTGCCTCTAGTCCGGCTGTGAAAAAGTTGGTCCAGCACTACGTTCTGCCGCCCACAAGTGGAGTACGCCAGTGGGGGTGATGCTGCATTCTGCGCTCCAATGGTTACGTCGGTCCAGTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTGACCACTATATCAAGGTGTCTTTCGGTCCAGGCTAGGAGGAACTTACCTCGCGGGAATAAGATCCCCAGTCCTTTTTAGCTCGACATTCGTGTTTTCTTGGGGACAGTAACTCATCATCCAAGGTGTAAAAGTATTCTAAGGTGCTCTCTTCTATGATCACACACTGCATCCGCTACTCAACATAGCTCGCGGGCCAACAACGTAGCGAAAGGTCGATTCTCCATACAAAAATATCATACTAGCCGGTTAACTAAACGGATTACCTCTTCCGCCGGAACATCTGAATCCATTACTACCGTGTGGTGCATGTTCACATCTTCGCGGTACATGCAGGAACAGTATGTAATGCTCTCGCGAGCCCTATGTGGCCAGGCTAAATGGGTTTACTGCTCAGCTAGTCCCGCCGAAATGACCATCAAATTGCCCGCTCACCCTTATCGCAGACTTCTACGAGAACGAGGTCCCGTTGGGATCAGAGGGAACCCCCAATTGTCAACGCTCCGTGGGTAGGAAAGATCACACCATGTTATCGAAAACATGGGTCCTCTGTATGTCGTAAAGGACCCAGCGAAAAAATTTATTAACGTGGATGGTTACCAGCTTGTTTTAAGAGCACGTCGACCGACACCAAGTCAATCTATTCCCCTCCATATCACGTTGCGAAGAGGTGCAGAGGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGAGGGCATCACACGGCGGTATACGCATTCAGACCTACACGATGTAAACGCCCAGTTAGGCGCAGATTATCACTGTACACCGACGTTCACCGCTGATAGGGTACTACCTCTCTAGAAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCGTTCCTAGTTGCTACCCAACTTGCCTCAATCGGTAGCACCTGAGCACTACGTGTAAACCTAGTAATGTTATGTACCGTGTGGCCGGAGTCTCAGCGACCAGAGAGTGCGAATTGCTCGAATATAGCCTCCGCCAAGTGATATCATAGTCCGGGTAACCAAGTAGTCTCTGTCCGACTAGGCCGCAAGCTTAGTCTAATCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGACCAACCTAAGTCCTTCGCGTGGGCTTTGACGGTCGGAAAAGGCAGGCCTGCCTTTCTCAATGTTGGATACAGTACCACACATCACTCCGCCGTGTTAGAGCGTAGGGAGACGTTGAGAACCGAACTACCGTGTCGCACATCATGATTTGCTTAATCAATTATTCGGTTACGGTATTCACGCGGACTCCGACGTATAGAATATAAGGTTTACACATGCGAAGAGCCCTGTGTATAGTTGCCCGCATCGAGGGTAACTATGTAAGCTATTGTGTGTGAGTAGTTAGCTACTAACGTGAGCCACCTTAAAACGCTTTGCAGTGAGTTAGGACCTTCGGGGTCCGTGCCACCTTACGTTCGGCACTTCTCTACTTCCTGGCCACCAGCGTTCAGTCGACGCAGGGTAACCGTTCGCGCCACCAAGATAGAAAAGCGGGTCAGGGAGATAATGTACTATTTACTCTATACTACATCACAGGATAATGGTAGAAGCGTCTGAAATCCACCATCGCTCTCCAAATGGGTGGTCGTTAGTGCATTGAGGACTGATCATGCGGCCGCTTTGACGAGCAGGGAGATCTTATGCTGTATCAGGATATGTCGGAGCTTATCCAGCGGCCACGCCGAAGGGTCACCCCATCAACCAGTCGGCCATGTATGTATCCCACCGAACCTGTGATAGTCACTGATTCCGGACTAAGACAGCCGAGTATACAACAGTTTCGCCACATGACGCAGGGGACTATGTCGACCGATACGACTTCCAGTATCTTCTGTACCTACAGATTCCACTGCATAACTGTTAATAGCAGAAGAGAGTCTGCATACGATGGCTAATTAACGGGTCTACCGAACTGCGTCCCTGGCAGATCTTGCTAGCACTCCGCTGCAAGCACACTGAGGCTTAAGCTATTATACCATCTTGCTCTGGTTGCAGACAGGTATGATTCACTCTGTACCTCCGGATCTTTAGCCTTGCATTTACGTCCGGCCGTAACGCAGAAAATTATCTACATGTCTGTCAGTCTCGCGGCCTGCACCGAGTGCTCGTCGACGCTCTGGCCAGGGCGAAGATCAGATTCCGTTTGACTTAAGGGTAGTTAGTAGGCGGCCAACGTCTGGTGAAAGGGCTGTTAGACTTGTAGACTTCCGTCATTGGGTCTAATACTGCTATTGATCTATGCCTGCCAATAACACGATGATTAGCTGTATAGTGGGTAATCAGGGAACGTTTACGTTCCTCAAGAAAGAACTCAAAGCCCCAGATAGAAAATACAGACTACCCAACTTGCGGGTTCCACTATATGTTCACCCGTTACTTGCTGCAAACCGAGATCACCCAGCATTTCGACCACGAGCCTTAGATCCAAATGCCACACACCAGTTTAGCGATGAATGTGTATAACGGGTTCTTACAGAGAACTACCAATCCGTAGCCTACGACACCACGGACTCTAATCACCAGGAAGATACAGAACTTGTGGCTGTCTACTGACCGTACGGGTTTGGCCAAAATGAAGCCGCCTAATGGTGTCACCGAGACAGTGTCTCGCTTACCAAGTCCGAGGCCCCATCACGAAGCGTCTGTAGATAAGGATCCGTTCCGGCGCCTGGGACCCGATCGAGAGTTCAGCTGCTGAAAGGGGTGGCGTCGTATGCATCCTTACCTACATCAGTTACGTGCCTCCACCGTTCACAGGGTGGGAGCCTTGACTCTTGCGGAGGGCGGACTGCTTTTAGCGCCTACAGGTCGTACTGATTTAACAAAGCAGAAGCGCTGCCGGGGTCTCATATGGACTATATAAGCGACACACCTTGGACCGCAACTCGAAGACTTCTGGCCGCTAGTGCCCAGGATGTAAACCGAACTACGCCAAGTTGGGAAGAGAAAATCCATCTGACTGCACGGTTCTGTGGAAGATAATGGCCCTAACTTTGCTCTATTAATAAACTATTGACGCCCAAAAAGAACATGTACGGACTGACTGGTACTTCAATTAGCCACTGGTAGTAGTCCTCGATTCAAGGAATCTGTGACAGTCGTACCGCTATATTAATAAATCGCTAAGTGCCAAAGGTCCGACCGTACTGACTGCTGATGTACTTGATTCACGGGATGTTAATAGGAGCTTTGCAATGTGTGCTTAAGTCCAGTCATCTACGCGCTTGCGGCTTGATCCCAGAGTATAACACATAAATCAGACTGTAGCG -------------------------------------------------------------------------------- /week5/Problem Set 5/speller/speller.c: -------------------------------------------------------------------------------- 1 | // Implements a spell-checker 2 | 3 | #include 4 | #include 5 | #include 6 | #include 7 | 8 | #include "dictionary.h" 9 | 10 | // Undefine any definitions 11 | #undef calculate 12 | #undef getrusage 13 | 14 | // Default dictionary 15 | #define DICTIONARY "dictionaries/large" 16 | 17 | // Prototype 18 | double calculate(const struct rusage *b, const struct rusage *a); 19 | 20 | int main(int argc, char *argv[]) 21 | { 22 | // Check for correct number of args 23 | if (argc != 2 && argc != 3) 24 | { 25 | printf("Usage: ./speller [DICTIONARY] text\n"); 26 | return 1; 27 | } 28 | 29 | // Structures for timing data 30 | struct rusage before, after; 31 | 32 | // Benchmarks 33 | double time_load = 0.0, time_check = 0.0, time_size = 0.0, time_unload = 0.0; 34 | 35 | // Determine dictionary to use 36 | char *dictionary = (argc == 3) ? argv[1] : DICTIONARY; 37 | 38 | // Load dictionary 39 | getrusage(RUSAGE_SELF, &before); 40 | bool loaded = load(dictionary); 41 | getrusage(RUSAGE_SELF, &after); 42 | 43 | // Exit if dictionary not loaded 44 | if (!loaded) 45 | { 46 | printf("Could not load %s.\n", dictionary); 47 | return 1; 48 | } 49 | 50 | // Calculate time to load dictionary 51 | time_load = calculate(&before, &after); 52 | 53 | // Try to open text 54 | char *text = (argc == 3) ? argv[2] : argv[1]; 55 | FILE *file = fopen(text, "r"); 56 | if (file == NULL) 57 | { 58 | printf("Could not open %s.\n", text); 59 | unload(); 60 | return 1; 61 | } 62 | 63 | // Prepare to report misspellings 64 | printf("\nMISSPELLED WORDS\n\n"); 65 | 66 | // Prepare to spell-check 67 | int index = 0, misspellings = 0, words = 0; 68 | char word[LENGTH + 1]; 69 | 70 | // Spell-check each word in text 71 | char c; 72 | while (fread(&c, sizeof(char), 1, file)) 73 | { 74 | // Allow only alphabetical characters and apostrophes 75 | if (isalpha(c) || (c == '\'' && index > 0)) 76 | { 77 | // Append character to word 78 | word[index] = c; 79 | index++; 80 | 81 | // Ignore alphabetical strings too long to be words 82 | if (index > LENGTH) 83 | { 84 | // Consume remainder of alphabetical string 85 | while (fread(&c, sizeof(char), 1, file) && isalpha(c)); 86 | 87 | // Prepare for new word 88 | index = 0; 89 | } 90 | } 91 | 92 | // Ignore words with numbers (like MS Word can) 93 | else if (isdigit(c)) 94 | { 95 | // Consume remainder of alphanumeric string 96 | while (fread(&c, sizeof(char), 1, file) && isalnum(c)); 97 | 98 | // Prepare for new word 99 | index = 0; 100 | } 101 | 102 | // We must have found a whole word 103 | else if (index > 0) 104 | { 105 | // Terminate current word 106 | word[index] = '\0'; 107 | 108 | // Update counter 109 | words++; 110 | 111 | // Check word's spelling 112 | getrusage(RUSAGE_SELF, &before); 113 | bool misspelled = !check(word); 114 | getrusage(RUSAGE_SELF, &after); 115 | 116 | // Update benchmark 117 | time_check += calculate(&before, &after); 118 | 119 | // Print word if misspelled 120 | if (misspelled) 121 | { 122 | printf("%s\n", word); 123 | misspellings++; 124 | } 125 | 126 | // Prepare for next word 127 | index = 0; 128 | } 129 | } 130 | 131 | // Check whether there was an error 132 | if (ferror(file)) 133 | { 134 | fclose(file); 135 | printf("Error reading %s.\n", text); 136 | unload(); 137 | return 1; 138 | } 139 | 140 | // Close text 141 | fclose(file); 142 | 143 | // Determine dictionary's size 144 | getrusage(RUSAGE_SELF, &before); 145 | unsigned int n = size(); 146 | getrusage(RUSAGE_SELF, &after); 147 | 148 | // Calculate time to determine dictionary's size 149 | time_size = calculate(&before, &after); 150 | 151 | // Unload dictionary 152 | getrusage(RUSAGE_SELF, &before); 153 | bool unloaded = unload(); 154 | getrusage(RUSAGE_SELF, &after); 155 | 156 | // Abort if dictionary not unloaded 157 | if (!unloaded) 158 | { 159 | printf("Could not unload %s.\n", dictionary); 160 | return 1; 161 | } 162 | 163 | // Calculate time to unload dictionary 164 | time_unload = calculate(&before, &after); 165 | 166 | // Report benchmarks 167 | printf("\nWORDS MISSPELLED: %d\n", misspellings); 168 | printf("WORDS IN DICTIONARY: %d\n", n); 169 | printf("WORDS IN TEXT: %d\n", words); 170 | printf("TIME IN load: %.2f\n", time_load); 171 | printf("TIME IN check: %.2f\n", time_check); 172 | printf("TIME IN size: %.2f\n", time_size); 173 | printf("TIME IN unload: %.2f\n", time_unload); 174 | printf("TIME IN TOTAL: %.2f\n\n", 175 | time_load + time_check + time_size + time_unload); 176 | 177 | // Success 178 | return 0; 179 | } 180 | 181 | // Returns number of seconds between b and a 182 | double calculate(const struct rusage *b, const struct rusage *a) 183 | { 184 | if (b == NULL || a == NULL) 185 | { 186 | return 0.0; 187 | } 188 | else 189 | { 190 | return ((((a->ru_utime.tv_sec * 1000000 + a->ru_utime.tv_usec) - 191 | (b->ru_utime.tv_sec * 1000000 + b->ru_utime.tv_usec)) + 192 | ((a->ru_stime.tv_sec * 1000000 + a->ru_stime.tv_usec) - 193 | (b->ru_stime.tv_sec * 1000000 + b->ru_stime.tv_usec))) 194 | / 1000000.0); 195 | } 196 | } 197 | -------------------------------------------------------------------------------- /week2/Problem Set 2/wordle/wordle.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include 6 | 7 | // each of our text files contains 1000 words 8 | #define LISTSIZE 1000 9 | 10 | // values for colors and score (EXACT == right letter, right place; CLOSE == right letter, wrong place; WRONG == wrong letter) 11 | #define EXACT 2 12 | #define CLOSE 1 13 | #define WRONG 0 14 | 15 | // ANSI color codes for boxed in letters 16 | #define GREEN "\e[38;2;255;255;255;1m\e[48;2;106;170;100;1m" 17 | #define YELLOW "\e[38;2;255;255;255;1m\e[48;2;201;180;88;1m" 18 | #define RED "\e[38;2;255;255;255;1m\e[48;2;220;20;60;1m" 19 | #define RESET "\e[0;39m" 20 | 21 | // user-defined function prototypes 22 | string get_guess(int wordsize); 23 | int check_word(string guess, int wordsize, int status[], string choice); 24 | void print_word(string guess, int wordsize, int status[]); 25 | 26 | int main(int argc, string argv[]) 27 | { 28 | // ensure proper usage 29 | if (argc != 2) 30 | { 31 | printf("Usage: ./wordle wordsize\n"); 32 | return 1; 33 | } 34 | 35 | int wordsize = atoi(argv[1]); 36 | 37 | // ensure argv[1] is either 5, 6, 7, or 8 and store that value in wordsize instead 38 | if (wordsize < 5 || wordsize > 8) 39 | { 40 | printf("Error: wordsize must be either 5, 6, 7, or 8\n"); 41 | return 1; 42 | } 43 | 44 | // open correct file, each file has exactly LISTSIZE words 45 | char wl_filename[6]; 46 | sprintf(wl_filename, "%i.txt", wordsize); 47 | FILE *wordlist = fopen(wl_filename, "r"); 48 | if (wordlist == NULL) 49 | { 50 | printf("Error opening file %s.\n", wl_filename); 51 | return 1; 52 | } 53 | 54 | // load word file into an array of size LISTSIZE 55 | char options[LISTSIZE][wordsize + 1]; 56 | 57 | for (int i = 0; i < LISTSIZE; i++) 58 | { 59 | fscanf(wordlist, "%s", options[i]); 60 | } 61 | 62 | // pseudorandomly select a word for this game 63 | srand(time(NULL)); 64 | string choice = options[rand() % LISTSIZE]; 65 | 66 | // allow one more guess than the length of the word 67 | int guesses = wordsize + 1; 68 | bool won = false; 69 | 70 | // print greeting, using ANSI color codes to demonstrate 71 | printf(GREEN"This is WORDLE50"RESET"\n"); 72 | printf("You have %i tries to guess the %i-letter word I'm thinking of\n", guesses, wordsize); 73 | 74 | // main game loop, one iteration for each guess 75 | for (int i = 0; i < guesses; i++) 76 | { 77 | // obtain user's guess 78 | string guess = get_guess(wordsize); 79 | 80 | // array to hold guess status, initially set to zero 81 | int status[wordsize]; 82 | 83 | // set all elements of status array initially to 0, aka WRONG 84 | for (int j = 0; j < wordsize; ++j) 85 | { 86 | status[j] = WRONG; 87 | } 88 | 89 | // Calculate score for the guess 90 | int score = check_word(guess, wordsize, status, choice); 91 | 92 | printf("Guess %i: ", i + 1); 93 | 94 | // Print the guess 95 | print_word(guess, wordsize, status); 96 | 97 | // if they guessed it exactly right, set terminate loop 98 | if (score == EXACT * wordsize) 99 | { 100 | won = true; 101 | break; 102 | } 103 | } 104 | 105 | // Print the game's result 106 | // TODO #7 107 | if (won) 108 | { 109 | printf("You won!\n"); 110 | } 111 | else 112 | { 113 | printf("%s\n", choice); 114 | } 115 | 116 | // that's all folks! 117 | return 0; 118 | } 119 | 120 | string get_guess(int wordsize) 121 | { 122 | string guess = ""; 123 | 124 | // ensure users actually provide a guess that is the correct length 125 | do 126 | { 127 | guess = get_string("Input a %d-letter word: ", wordsize); 128 | } 129 | while (wordsize != strlen(guess)); 130 | 131 | return guess; 132 | } 133 | 134 | int check_word(string guess, int wordsize, int status[], string choice) 135 | { 136 | int score = 0; 137 | 138 | // compare guess to choice and score points as appropriate, storing points in status 139 | char c[2] = "\0"; 140 | for (int i = 0; i < wordsize; ++i) 141 | { 142 | c[0] = guess[i]; 143 | if (guess[i] == choice[i]) 144 | { 145 | status[i] = EXACT; 146 | score += EXACT; 147 | } 148 | else if (strstr(choice, c) != NULL) 149 | { 150 | status[i] = CLOSE; 151 | score += CLOSE; 152 | } 153 | else 154 | { 155 | status[i] = WRONG; 156 | } 157 | } 158 | 159 | // HINTS 160 | // iterate over each letter of the guess 161 | // iterate over each letter of the choice 162 | // compare the current guess letter to the current choice letter 163 | // if they're the same position in the word, score EXACT points (green) and break so you don't compare that letter further 164 | // if it's in the word, but not the right spot, score CLOSE point (yellow) 165 | // keep track of the total score by adding each individual letter's score from above 166 | 167 | return score; 168 | } 169 | 170 | void print_word(string guess, int wordsize, int status[]) 171 | { 172 | // print word character-for-character with correct color coding, then reset terminal font to normal 173 | for (int i = 0; i < wordsize; ++i) 174 | { 175 | int statue = status[i]; 176 | char c = guess[i]; 177 | if (statue == 2) 178 | { 179 | printf(GREEN); 180 | } 181 | else if (statue == 1) 182 | { 183 | printf(YELLOW); 184 | } 185 | else 186 | { 187 | printf(RED); 188 | } 189 | printf("%c", c); 190 | printf(RESET); 191 | } 192 | 193 | printf("\n"); 194 | return; 195 | } 196 | -------------------------------------------------------------------------------- /week6/Problem Set 6/dna/sequences/12.txt: -------------------------------------------------------------------------------- 1 | AACGATACTCCCTAAGACCCATCAAAGACATAGATCTGTTGTAATTCCTCGCTTCCTTCTAAATGGGCAATGAGGAGATCATGACTTTGGCTACAATCAGTCAAAGAACTATCCCGGCCGGGGAGCACATAAATCCGCATGCGCACAAAAGGATGAAAGTACTTTAAAACTAGTACGTCACTTAAAGGGAAGTAGAGTCGCTCCTTGGTATGCTCCCCACGCCGCTGCCCATTTAAGATTTAGCTCATCCCTCCGGGGGCCGTCGCTGCCAACCTAAGTAGCTCGGAAGAATCTCTTTATGCAAACTCTCTTCTTCCCCAGGGACAACGTATGCTAGCCACGCGCGTATTTAAGCCAACCCTAGCCAGCAGTCGCAACGGCAGCTCCCGTAGACCGCAACTGACGTCCAGCAAGCTTTAATTGGCCAGCCAGAGGCGCGAAAACGGGTCGTTGCAACAACTGTTATTGTTGCTCCTTCCAATTTGGCGATATATGATATAAACTGTATCATGTTCCCTACAAGAACTCACCACTATCCGGTACTCACCAATTGTATTGTAATGCTGTGTGCGCTAGGCCATATCACACGAACTTATCTCCGCGTCTCTTGCAATAGTCGACCAGACTGTATGTGATTCGTGAAGTACCTCTGGGAGTGAGTGCTTAAACACAACAGTGTTGACCGTTGGACCGCGGATGGATTTCCTGATACGAAAAGAGGATGTAGGCATGTGCCTAACGCTGTCCGCCTCCACGTTAATTCAACAACCACTAAGATAGCACACTGTTGGAACCGAATCAAGCCACCAAGTAGACTAATGGATTTGTGGAAATGGGAGCTTGACCAAAACTGAAACCGAGTTATTCGACAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCAGATCTGGGCAAGGGTGTCTAATAAAACTTTGGAGTGTCCGGCAGCTCCAGGGATGGTCAACCCGGGGATTCTAGGCACTTGGGCAGGTAATCCGTTGTTATTGCAATGGGACAGCCAGGTCTGAGTGGAGACGTCTGTAATGTAACGACAAGTGGGACGTAACATATAGCCATACGGAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATAGATACAGTAGGTTGACTGGATATCAGCAGTTCTCCATGTCCTTGTTGCTGCGTCGTGGCGGTATGTTCGTTCGACCGGCGAAATCGCCTAGACCCGTAAGTACAAACGACTCCGCCTCCACTTCTTTGCATATTGCTATCATCCCATGGGAGACACGTGTGGTGTCGCTTACGAAGTAGGAACCTGCAGAGTGTAGCACTCTTCACTGGACTACGCGACCTAACGTAGAACCCGGTAGACTGTGTTAAAGGCTCGGACAAGGTCGGTGCCAAGAATAATGGGCAAAACCCAAGCCGCATTCTATACACCCGTGACTTCCCAATTTCTGTGGCCCGAGAGCCGGTTCAATTACTTTGCCGCAATGATGACGGGTTGCTTATCCGGTGGAAATCCGAAGCATTACTCGGAAACCGCACCGGCATGCCATCATTAGATACTGGGAAGGAAGGGTCACTAAAATAAATTGAGGGTGACCCCATTGACCGTGCCGGAGCCGCTAAAAGACCTCGAACTCTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGTCTGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGAATGGTAATTATGGCTTTCTCGTCACGCTAACATGGTGGGTAGTCAAAGCTAAAATTGATGTTCAGCCCTTACATACAGCGGATTCAGAACGTGATTACCCAGATGAGGTCTTCACCCGACGCGACTTTCTGCTAGCGGCGTGTTGATTCACAGCTTGCGAGGTGATCTCACTATTCCGCAGTTGGCCCTGTATTTGAGGAATATTGCTCAGCACGGCTCAGAGCCGATCCAACTCCTCGAAATTGGGTCGCTTATTATACGGTGGGAACCCCGAGACTAACATGACGGGCCAAGTTCAGTATGCAGTGTCCTAGTATACGGGGATAAAGTTACGGAGCCAGGACGGTTGAGAATACACCAAATGTCCGGTTCGACACTAAGATTAAACGTACCACATCTATTATCTACACAGATACGGGCATCGTGAAACCCAAGCGCAAATCGGAATATTGTCTGCGACCAAAGCTTCCGGATTAGTATTCAGACCTCTTTATACCTGAAGACATGTAACAGGCCCGAAGTCGCCTTCGGAGCTTACCGCTGTCCGGTCTGGTACTATTCCCGTCAGAGGGCTGCCCGACTATCGGTAGGACCCTACAGGGGCGTCTGAAAGAGTTCGATAAATGACGAACGCGCCTAATCGGTCCACGTGACGGCCATAACGGATGTGTCAAAGAGTTTCGCGCTACAGGCACCGATGGCTCGCTGTCCCAGGCCAGCGCATCTCCTTTTCAGCCCGCGCCGGGGAGGCAGATTGGTATCGATAGCAGGAATTAGAGAGTAGGCACGACAGCTAGAGACCGGGAAGAAGCCTCCAACTGCTCGTAAAAGATGTTTGGTCACCTATCATAAACCCCACATACCAATGCGCAATGGCGTATTCGCTGTCAAGAGGATTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTCTAGTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTTTTTTTCTGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAGAAAAACGCACCCTTGACCTCTTTAGGAGTTACAGGTCCCGTGGATGACCGGCGCAACCTACGGCCACCGTAGTGGACACAATACCGGGGGCCGCCAACCAGAGGGGTGTCGGTGACCGTGTCCTGTGAACATATCACCATTTTGGTACGTCCGATCCTACTCTATGTGTACTGTTTTTCGCAAACAAAATGTGCGATAATCGTTGTCGGGAAATATTTTCCCTCAGGTGGTTCGGGGGGTCATCCTGAACAGTCACAATGAACACGGGCGTTTCTCTTCGCTTATTGAGCTCCAAATCCCTATCTTCTCGAAGCTCGATTAAGTCTTAGTCAGTGGCTGCCGTGATACGTTGTGGCTGGCTGGCAGTCTTTAAATTCGACTTTTCAATGATGTCAGGTTCGCACGTTTAGTGATTCGCGATCGATTACCTCCCAGACTGCCGGACTACTCCGAGCAAGAGGGGTTGACCTATTAGCATCGCGACCGCCCTAACACTCGCGTTCTAAGGCGCTCACTACGACGTCCAGTAAGCTGGCACGTTCTGTATATGTCTGGCTCATAGAGTCTGAGTTTGTCAGCGGTCACGTTAAGCATAAAACTGCCAACCTGGAAAATCATATTTATATTAAGTGTCGTAGTGGTACGGTATGACACGATCGTTTTGGGAAGTAAGTGCCCATCCGTGAATCGGCTACAGGCATCTGAACTAACAACATTGTCCCCCTTTAACATAAGGTGAGGGGTCGTTTAAGAATGAGCCAGCACAAGACATATGACGTGTTCCCCTCTGTACGAACTAAGGCAAGTGTATGGCGTTTCTCGTAACGCTATGTAAATCCTGCAGTACACTAGCATTCGAATTAGTCACGTGGGTTCATTAGAGCCGGGCTGCATACGGCTTTCACTCAAGGGTGAGGCCCGGCACGAACCTTTGCTTTGTCTGCTGGATTGCGTTAAGGTGTTAATTATGTTGCAAGTATCCCGATGATCCTAATACGAAAAGGCTAGGGAATAATCGTCGGAAACCGACCCTGATCCATCTCGGGTAGGCTCTGATCAATATTCAGTGACAGGTAGGGACCGCTCGCAGACTGGTCTCCCGGGTGATTTAAACCAAGGCCTGCTCTCCCTGGCTTCAAATATCTCCATACGTGCCACCTGCAATGGTACTTTAGAGAGAAGGCAACACCCGTGTCACTTATTCCGTCTGTTTTAGCGAGACAGGTCACCTGCATTTATTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCTATCCGCGCTGCGTTGTAGAGAAGGCCCTCGTGATGATACGGAACCCAAAGACAACAGTGATATAAAATGCGGGTTTGACCATTCTGTACGTAAATGAACGCGTGTTAGTTGACAGGAGGCACGCACACATTGGTCGGCTGGCATTGGTCACGATCGGCACCTCGGAGAGACCCGCTGTGGTGGAAAAATTGCTCTCACTATAAGTGCTAGGAAATACTGAACTGTAGGGAGAGAGCCTGTTTGTAAGTGCCTTCGTAAGGAAGAAATGTCATAACACCAGTTATGTCCAGATACGTTTGGTCTTCCGAGACTAGACTAGTTAAAGGTGCCTCGTATTACTGTCGGAAGGATAGGGCCTCAGGTCGAGCTGAATTGAGCCGGCATCACTACGAAACGTAATGGAACAGGTATCGCTCAAGTTCCTATGGCATGCAGGGCGTAGATTGCGCTGGCCTGCATTCGCGGCATAAGACGTTGCAGCGAGAGAGATCCACGCGCACGGACCCGTCACTACTAAAGCTCGACCAGCGAATTCGTTCTCCCTCGAACAAGGTGCAGGCCTCCCTCCCTACGTGAGCATTGTGGCAACTGATAACAGCTGTATCTCTACAAAGCCCTCCGGATTCGATGCCCTATTTAATTCTACACCGGTTCGGGTACTAGGCGCATAAACTATGACTCCGGTCAATACTTCCCTAGTGTTTACCTTGAGGTTATCAATTGACCGCTTCGAGGCCCAGCCCGAGGACGAGGGGTACTGACTCCCCCACCCTGCTGATCAGGGGCAGCCAGGCACGGGGAGGTCTTAGATCTGCCTACTTTTCTACGCTCCGTGTCCGATTATTAAGCACATGACTAGCGGAAGTGAGTACCCTCTACCAGCCCCTGGAGTGGATTGAGCGTGGAGCACGAGAAAGAGAAATGATGTCTCGGCATAGACGAAAAGCACCTAGGTGACATCAGGCACAAGGACTGAACCGCGTGGTCGCGAAAGATGAAAAAACCACCGAAGGTGTAAGGGACTACACCGTCTGTCCAATCTACGGTTAAAACTCGCTTAACAGGTCCCA --------------------------------------------------------------------------------