![]() ![]() Our industry partners need to hear from our students, and this is a great opportunity for an open discussion. This will be an important discussion that requires your participation. ![]() Industrial Advisory BoardĪpril 05, 2019, 10:00 AM - Storey Innovation Center, Room 2277 This talk is very accessible to programmers of all skill levels, and should be a fun exploration of the uglier side of our profession. Through all of this, he will use Runescape as the primary example of a legacy system. In this talk, Kenny will discuss: (1) what are the traits of a legacy system, (2) why they come to exist, and (3) approaches to working on legacy systems. Legacy System Anti-Patterns Through the Context of RunescapeĪpril 10, 2019, 7:00 PM - Swearingen 2A19ĭespite a world full of best-practices, almost all software developers will need to work on a legacy system at some point in a career. This talk will focus on the History, and also using Pure Data to make music. Computer Music has a rich history, dating back to the early days of computing, and has certainly evolved a lot during that time. We will also have elections, and some cake! Music in ComputingĪpril 17, 2019, 7:00 PM - Swearingen 2A17īrady is giving a talk on Computer Music. This Wednesday, we will be having our last meeting, where Charles Daniels will be giving a small talk on MINIX. Elections and MINIX Mini-talkĪpril 24, 2019, 7:00 PM - Swearingen 2A17 We'll be working with HTML, CSS, and JavaScript, and will finish the talk by creating a personalized website! No prior web dev experience is needed, but beginners and experts alike are welcome to join. September 02, 2019, 7:00 PM - Swearingen 2A19ĭalton Craven will be going over the basics of web development. Joshua Nelson will be giving an introduction to Python using a real-world project. No meeting this week, come to OSSC instead! Intro to Python September 25, 2019, 7:00 PM - Swearingen 2A17Īn in-depth presentation going through why you should use a functional language to make yourself a better programmer. If memory is True, then plot the matrix sum of all previous iterations """ if memory : plt. plot ( memory = plot_memory ) def plot ( self, memory : bool = False ): """ Plot the world. world, old_world ): break old_world = np. procreate () # stop if the world has stabilized if np. world ) for _ in range ( n_iter ): if not np. n_iter: number of iterations plot: if True, plots each iteration plot_memory: if True, plots matrix sum of all previous iterations + current iteration instead of just the current iteration """ old_world = np. world def iterate ( self, n_iter : int, plot : bool = False, plot_memory : bool = False ): """ Runs the world and plots. kernel, mode = 'constant' ) # checks which dead cells have enough live neighbors to come back alive in the next round birth_filter = np. float64 ) # finds the sum of the values of the neighbors neighbors = convolve ( new_world, self. get_kernel () def procreate ( self ): """ calculates the next round, params same as iterate """ new_world = np. set_parameters ( parameters ) def set_parameters ( self, parameters ): self. ndarray, parameters : Parameters, cmap : str = "gray" ): self. and, of course, running multiple rule sets one after each other on the same start gridĬlass CellularAutomata : def _init_ ( self, init_world : np.giving a cell more than 2 possible states.using floats instead of ints to weight the influence of each neighbor.changing the size and dimensions of the neighborhood.A short and woefully incomplete list of possible changes to these initial rules: The initial plan was to get the game of life running and then jump straight into building logic gates, but the rule system was so incredibly simple and extensible that it was just crying out to be experimented with. You can initialize the grid with any pattern of 1s and 0s. This means a cell is born if it has 3 neighbors and survives a round if it has 2 or 3 neighbors, otherwise it dies. The rule system for the game of life is commonly described as B3/S23. The neighbors of a cell are the ones adjacent (diagonally or orthogonally) to it, i.e a 3x3 grid with the cell in the center. Here’s a quick rundown of the rules: Each cell in the grid is either dead (0) or alive (1). This stackexchange post where some brilliant people, when tasked with getting Tetris to run inside game of life, decided to build a whole computer inside it which, incidentally, could play Tetris. We started playing around with it after seeing this post about a game of life instance running inside game of life, and It’s a cellular automata system renowned for it’s elegantly simple rules and the incredible complexity it produces. Everyone who’s interested in programming has probably had a brush with Conway’s Game of Life in some way or the other. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |