As the number of wireless devices, the demand for high data rates, and the need for always-on connectivity are growing and becoming more stringent with the evolvement and emergence of 5G systems, network engineers and researchers are being faced with new unique challenges that need to be addressed. Among many challenges, trac congestion bottleneck at back-haul links arising from the massive connections emerges as one key challenge that 5G systems need to tackle. One solution approach that has been investigated as a key enabler for addressing such trac bottlenecks is in-network content caching, where frequently-accessed content is placed closer to end users at the network edges so that the amounts of trac that need to traverse core network and back-haul links are reduced. In this thesis, we propose a content placement and caching technique that leverages collaborative ltering and k-means clustering to make ecient content placement decisions, thereby reducing downloading time and back-haul trac. We simulate the proposed technique and compare it with two other existing caching techniques, and show that the proposed approach outperforms existing ones by achieving higher hit ratios, reducing backhaul trac, and decreasing download times. We therefore show that the proposed technique improves the users' quality of experience by minimizing network latency and the overall network performance by alleviating backhaul trac congestions.